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ために印刷された改行はありません。file1file2
file1末尾の改行を含めるように変更するか、他の方法で挿入する必要があります。