Bash はファイルのリストを読み取り、ファイルの内容を 1 つのファイルに出力します。

Bash はファイルのリストを読み取り、ファイルの内容を 1 つのファイルに出力します。

コマンドを使用して、find特定の拡張子を持つすべてのプログラム ファイルを検索し、その内容を大きな「codebase.txt」に追加すると、問題なく動作します。問題は、同じプログラムのバージョンが非常に多いことです (各プログラムの一意のコピーは 1 つだけ必要です)。find コマンドからリストを解析し、同じプログラムの .v1、.v2、.v3 などを削除して、1,000 個以上あったリストを 300 個 (ほとんど一意のファイル名) にまとめました。ファイル リストを読み取り、「sourcecode.txt」に出力するさまざまな cat コマンドを使用すると、次のようなエラーが発生します。スイッチ"invalid use of 'r'"も使用していません。r

Redhat Enterprise Server 7 の bash ではこれが簡単だとわかっていますが、試したことはすべて失敗しました。

これは私が探していたものだと思うのですが、入力が認識されないというエラーが返されます。

#!/bin/bash                                 
input="filelist.txt"                                  
while IFS= read -r line                                       
do                                                     
  echo "$line".  #append to codebase.txt???? - but how????                   
done < "$input"

関連情報