リストに基づいてファイルを追加する

リストに基づいてファイルを追加する

ファイルに対応するリストがあります。ファイルは、リストに表示される順序に従って単一のファイルに追加する必要があります。

  order.list:
  FLORIDA        #corresponding file is florida.txt
  ILLINOIS       #corresponding file is illinois.txt
  UTAH           #corresponding file is utah.txt

上記の方法を使用して、utah.txt、florida.txt、illinois.txtの順にファイルを添付するorder.list必要があります。.txt

  scenario 1:
  order.list:
  UTAH
  FLORIDA
  ILLINOIS

  cat utah.txt >> final.txt
  cat florida.txt >> final.txt
  cat illinois.txt >> final.txt

  scenario 2:
  order.list:
  ILLINOIS
  UTAH

  cat illinois.txt >> final.txt
  cat utah.txt >> final.txt

リストの順序を変更することに加えて、order.list2つの行のみを含めることも、1つの行のみを含めることもできます。

if文を試してみることもできますが、時間がかかることがあります。この問題を処理する効率的な方法はありますか?

ベストアンサー1

これはどうですか:

rm final.txt & cat order.list | tr '[:upper:]' '[:lower:]' | while read line; do cat $line.txt >> final.txt; done

まず、既存のFinal.txtを削除し、order.listを読み取り、それを小文字に変換して(提供された入力に従って)読み取り順序に追加します。

おすすめ記事