我有一个文件,我想在其中进行以下更改:
将n
个连续空格替换为n-1
个空格。
示例:
输入:
a b c e
fg j ij k
输出:
ab c e
fgj ijk
我该怎么做?
答案 0 :(得分:5)
s/ ( *)/$1/g
也就是说,用后面的空格数替换后跟任意数字(包括0)空格的空格。实质上,我们在捕获/ +/
时匹配/ */
。
答案 1 :(得分:5)
您可以在sed
中执行以下操作:
sed -r -i 's/ ( *)/\1/g' in
正则表达式使用/ ( *)/
搜索空格,后跟零个或多个空格。它会记住零个或多个空格部分,并用记住的部分替换整个空格。