同じディレクトリ内の複数の対応するファイルを比較する方法

同じディレクトリ内の複数の対応するファイルを比較する方法

こんにちは。次のファイルを含む同様のフォルダがあります/mell/908

cf-mell-pos-908-tcg-4619e.txt
cf-mell-pos-908-tcw-4619e.txt
cf-mell-pos-908-usc-4619e.txt
cf-mell-pos-908-wi_board-4619e.txt
copper_qnt
tcg_mell_upload_lx.txt
tcw_mell_upload_lx.txt
usc_mell_upload_lx.txt
wi_board_mell_upload_lx.txt

diffコマンドを使用してそのファイルを比較する方法はありますか?

  • cf-mell-pos-908-tcg-4619e.txtそしてtcg_mell_upload_lx.txt
  • cf-mell-pos-908-tcw-4619e.txtそしてtcw_mell_upload_lx.txt

diff待って、各ペアを1つずつ手動で実行する必要はありませんか?私はLinuxシステムを実行しています。

ベストアンサー1

各ファイルペアの一致する文字列が常に同じ場所にあると仮定すると、このオプションが提案されます。

# loop over the files that start with 'cf-'
for f in cf-*.txt; do
  # extract the unique "code", e.g 'tcg'
  code=$(echo "$f" | cut -d'-' -f5)

  # match the looped file with the one that starts with the "code"
  echo "diff" *"-${code}"* "${code}"*.txt

  # perform your commands, in this case I use an `echo` to show
  # how the command `diff` will be executed
done

diff cf-mell-pos-908-tcg-4619e.txt tcg_mell_upload_lx.txt
diff cf-mell-pos-908-tcw-4619e.txt tcw_mell_upload_lx.txt
diff cf-mell-pos-908-usc-4619e.txt usc_mell_upload_lx.txt
diff cf-mell-pos-908-wi_board-4619e.txt wi_board_mell_upload_lx.txt

おすすめ記事