在文件内的字符串中删除单词及其旁边的单词/字符

时间:2019-06-12 01:50:44

标签: bash shell

我正在寻求解决Bash脚本中的一个特定问题

考虑file.txt

AAAA BBBB  CCCC D  EEEE F  

我希望删除CCCC和D并恢复其占用的空间,以便没有这样的多余空间

我尝试使用sed,但无济于事。尝试使用s选项,但它仅适用于可以用''

替换的字符串

预期结果是

AAAA BBBB  EEEE F

1 个答案:

答案 0 :(得分:1)

如果我正确地解释“多余的空间”意味着一个以上的空间,那么我对为什么预期结果在“ BBBB”和“ EEEE”之间有两个空格感到困惑。假设您的意思确实是一个空格,那么应该可以执行以下操作:

$ echo "AAAA BBBB  CCCC D  EEEE F  " | sed 's/CCCC D//g' | tr -s ' '
AAAA BBBB EEEE F