1行を含むn個のファイルがあり、それらを連結したい:
入力ファイル:
file_1
A B C
file_2
1 2 3
望ましいコンソール出力結果:
A B C
1 2 3
しかし、次の場合:
$ cat file_1 file_2
私は得る:
A B C1 2 3
2 つ以上のファイルがある場合は、シェルでループを使用echo
し、新しい行を挿入するために使用できます。
for f in file1 file2 file3; do cat "$f"; echo; done > output
ファイルが 2 つしかない場合はecho
、新しい行を出力して、次のように 2 つのファイルの間に挿入することができます。
echo | cat file1 - file2
これは、 Ubuntu 12.04bash
でシェルを使用して観察したものです。
$ echo "1 2 3" > file1
$ echo "a b c" > file2
$ cat file1 file2
1 2 3
a b c
明確な行を分離します。
echo
コマンドにより、適切に終了した文字列が両方のファイルに書き込まれるようになります。
file1
最後に改行がありません。そのため、それらを分離するcat
ために印刷された改行はありません。file1
file2
file1
末尾の改行を含めるように変更するか、他の方法で挿入する必要があります。