n個のファイルを結合するには、catコマンドを使用してください。

n個のファイルを結合するには、catコマンドを使用してください。

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つの要素に結合することを除けば、これに似ています。

おすすめ記事