【发布时间】:2015-04-27 10:06:01
【问题描述】:
这是我经常遇到的一个问题。我有一个包含单词的文本文件,每个单词之间有一个空格,并且在一行的开头或结尾没有空格。我想使用例如sed 删除出现的单词,每个单词之间只留一个空格,行首或行尾不留空格。这可以用一个正则表达式来实现吗?
我能想到的最好的解决方案,需要三个正则表达式。
% cat text
A B C A B C A
% sed -r 's/ ?\bA\b ?/ /g' text
B C B C
% sed -r 's/ ?\bA\b ?/ /g' text | sed 's/^ *//' | sed 's/ *$//'
B C B C
【问题讨论】: