Bash 在每行末尾加一个逗号
我需要格式化一个邮件列表,在每行末尾加一个逗号。这个问题已经被问过了,但是我没有得到建议答案的预期结果:Bash 在每行末尾加一个逗号,bash,sed,Bash,Sed,我需要格式化一个邮件列表,在每行末尾加一个逗号。这个问题已经被问过了,但是我没有得到建议答案的预期结果: sed '$!s/$/,/' file > out.txt 结果: user1@gmail.com , user2@gmail.com , user3@yahoo.fr . . . 还有什么可以改进的吗? 我更需要: user1@gmail.com, user2@gmail.com, user3@yahoo.fr, . . . 谢谢 使用以下方法在每行末尾添加逗号: sed 's
sed '$!s/$/,/' file > out.txt
结果:
user1@gmail.com
,
user2@gmail.com
,
user3@yahoo.fr
. . .
还有什么可以改进的吗?
我更需要:
user1@gmail.com,
user2@gmail.com,
user3@yahoo.fr,
. . .
谢谢 使用以下方法在每行末尾添加逗号:
sed 's/$/,/' file > out.txt
s/regexp/replacement/flags
g
标志不是必需的;这将替换应用于单行中的每个匹配项(不仅仅是第一个匹配项),但根据定义,任何一行只匹配一次$
。这里的区别在于去掉了$代码>选择器,它匹配除最后一行以外的所有行。当我这样做时,它在每一行的末尾添加了'。除第一行外,它将第一个字符替换为“,”而不是。。。。[更新]结果是,在运行之前,当您unix2dos您的csv文件时,会发生这种情况。