이 패턴을 가진 파일이 많이 있습니다.
file1_foo.ext
file1_bar.ext
file2_foo.ext
file2_bar.ext
등.
"페어링"하여 다음과 같은 파일에 넣어야 합니다.
file1_foo.txt file1_bar.txt
(탭으로 구분됨)
이 상황에서 최선의 조치는 무엇입니까?
답변1
나는 당신이 둘 다 존재한다고 가정하고 싶지 않다고 생각합니다. 두 줄이 모두 존재하는 경우에만 두 줄이 인쇄됩니다.
for file1 in *_foo.ext; do
file2="${file1%foo.ext}bar.ext"
if [[ -e "$file2" ]]; then
printf '%s\t%s\n' "$file1" "$file2"
fi
done
견본:
$ tee {1,2,3}_foo.ext {1,3,4}_bar.ext </dev/null >/dev/null
$ ./script
1_foo.ext 1_bar.ext
3_foo.ext 3_bar.ext