n個のファイルがあり、ファイル名をリストに保存し、それらを結合したいと思います。これを手動で実行します。つまり、n=3の場合
cat ${filename[1]} ${filename[2]} ${filename[3]} > newfile
ファイルの内容が次の場合:
filename[1]:
line1
line2
filename[2]:
line3
line4
filename[3]:
line5
line6
新しいファイルに
newfile:
line1
line2
line3
line4
line5
line6
これを自動化するにはどうすればよいですか?つまり、ファイルの数にかかわらず、ここで3つのファイルに対して手動で行ったように、「n」について順番に結合したいと思います。
ベストアンサー1
たとえば、「@」を使用できます。
$ files=( /tmp/a "/tmp/a file from windows" /tmp/myfile )
$ cat "${files[@]}" > newfile
'@' は配列の内容全体を拡張します。*
各要素を別々の要素として扱い、*
すべての要素を1つの要素に結合することを除けば、これに似ています。