我想使用逗号分隔符合并两个输入文件并写入新文件。我怎样才能在bash中实现这一点?以下是示例数据。任何意见/建议将不胜感激。谢谢。
**
- What I have tried?
**
paste -d ' , ' file1 file2 > file3
Input Data
的 strong text
file1 file2
1,A 10
2,B 20
3,C 30
Desired Output
file3
1,A,10
2,B,20
3,C,30
答案 0 :(得分:2)
paste -d ' , ' file1 file2 > file3
答案 1 :(得分:0)
首先.....粘贴的意思是逐行地粘贴任意数量的文件。默认情况下,它将制表符放在每个文件的行之间。
line-from-file-1<tab>line-from-file2<tab>line-from-file3
当您指定“ -d”时,请指定要使用的内容,而不是每个选项卡。因此,在粘贴三个文件时,需要两个分隔符,例如,-d'@#'将导致:
line-from-file-1@line-from-file2#line-from-file3
因此,当您指定-d','时,表明您想要在第一个文件和第二个文件之间留一个空格,在第二个文件和第三个文件之间留一个逗号,并再次在第三个文件和第四个文件之间留一个空格...。发生。
有人提到了dos格式的行尾。我也碰到了。我用过:
fromdos file1
转换第一个文件的行尾。我从tofrodos软件包中获得了该工具。您奇怪的第二个文件是dos-line-ends,因为它们似乎以某种方式自动消失了。事先像这样处理两个输入文件将更加巧妙。