我有两个文件:
文件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
有我需要使用的命令吗?如何让 x 和 y 出现在两个文件中每个条目的一行上?
答案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