Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在每行末尾加一个逗号_Bash_Sed - Fatal编程技术网

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文件时,会发生这种情况。