用逗号替换文本文件中的所有空格

ane*_*yzm 14 sed text-processing regular-expression

我需要用逗号替换文本中的所有空格。我目前正在使用这一行,但它不起作用:我得到一个与原始文件完全相同的文本文件作为输出:

sed 's/[:blank:]+/,/g' orig.txt > modified.txt
Run Code Online (Sandbox Code Playgroud)

谢谢

Cal*_*leb 21

使用 GNU sed

sed -e 's/\s\+/,/g' orig.txt > modified.txt
Run Code Online (Sandbox Code Playgroud)

或与perl

perl -pne 's/\s+/,/g' < orig.txt > modified.txt
Run Code Online (Sandbox Code Playgroud)

编辑:要在 Perl 中排除换行符,您可以使用双重否定's/[^\S\n]+/,/g'或仅匹配您选择的空白字符's/[ \t\r\f]+/,/g'


Ste*_*n D 17

使用tr

tr -s '[:blank:]' ',' <file
Run Code Online (Sandbox Code Playgroud)

这将用逗号替换任何水平空白。任何重复的空格只会被一个逗号替换。