2つのファイルがあります。
ファイル 1 には以下が含まれます。
1
2
3
4
ファイル 2 には以下が含まれます。
John
Sam
George
Ken
これらのファイルを結合してファイル(file3)を作成したいと思います。
1, John
2, Sam
3, George
4, Ken
私の考えは、入れ子になったループを使用し、各行にコンマを追加することです。
for x in file1
do
echo "$x" >> file3
for y in file2
echo ",$y" >> file3
done
done
使用する必要があるコマンドはありますか? 2つのファイルの各エントリに対してxとyを1行に表示するにはどうすればよいですか?
答え1
あなたはそれを使用することができます生地:
$ :|paste -d',' file1 - | paste -d' ' - file2
1, John
2, Sam
3, George
4, Ken
または:
$ :|paste -d', ' file1 - file2
引数-d', '
は、各ファイルの内容の間に区切り文字としてカンマとスペースを使用することを指定します。
答え2
別のpaste
ソリューション
paste -d ', ' file1 /dev/null file2
1, John
2, Sam
3, George
4, Ken
答え3
sed 's/$/, /' file1 | paste -d '\0' - file2
答え4
次のことを試すことができます。
paste -d, file1 file2 > file3
出力(ファイル3):
1,John
2,Sam
3,George
4,Ken