尝试使用命令,但第一行替换为逗号
awk '{if(NR==1){print $0","}else{print }}' /home/a/b/file1.txt
a
b
c
预期结果
a,
b
c
答案 0 :(得分:1)
如果您有CRLF结尾,则需要将其转换为LF结尾,请参见How to convert Windows end of line in Unix end of line (CR/LF to LF)。
然后,您的解决方案可能会按原样工作。或者,您可以使用
awk '{ print NR==1 ? $0"," : $0 }' /home/a/b/file1.txt > newfile
在这里,您只print
整行,如果是第一行,则以,
结尾,否则,您只打印行本身。
如果需要,也可以使用sed
:
sed '1s/$/,/' /home/a/b/file1.txt > newfile
请参见online demo。在这里,sed
在第一行上用,
替换行尾位置(因此,基本上添加了逗号)。如果您使用sed '1s/,*$/,/'
,则可以确保结果第一行的末尾只有一个逗号。