【发布时间】:2016-02-20 07:20:54
【问题描述】:
我有一个包含大量空格和一些其他 ASCII 字符的文本文件。我想使用 Bash(最好通过 sed)将文件中的任何非空白字符替换为字母 M。我该怎么做呢?
感谢您的帮助。
编辑:对于反对者,我尝试运行:
sed -i 's/[^\s]/M/g' file
还有这个:
sed -i 's/[^\s]/M/' file
但他们都没有做得很好。我对正则表达式有点不熟悉,所以如果我做的事情明显错误,请道歉。
【问题讨论】:
-
我有理由确定
\s是 Perl 的东西,而在 Perl 中,你会使用\S而不是[^\s]来匹配非空白字符。
标签: regex linux bash shell sed