このパターンを持つファイルがたくさんあります。
file1_foo.ext
file1_bar.ext
file2_foo.ext
file2_bar.ext
など。
「ペアリング」して、次のファイルに入れる必要があります。
file1_foo.txt file1_bar.txt
(タブ区切り)
この状況で最善の措置は何ですか?
答え1
私はあなたが両方とも存在すると仮定したくないと思います。両方の行が存在する場合にのみ、2行が印刷されます。
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