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)
这将用逗号替换任何水平空白。任何重复的空格只会被一个逗号替换。