首页 > 解决方案 > 使用 Grep 拉线,同时省略重复的字符串

问题描述

我的输入文件是

cat random.txt

hello my name is hello

当我使用egrep '^hello|hello$ random.txt

结果是 hello my name is hello

我将如何修改命令以输出类似这样的内容

hello my name is

或者

my name is hello

如果两个单词都在同一行,则基本上删除从行首或行尾开始的同一个单词?

标签: stringgrepwordbsd

解决方案


您可以将它与awk这样的组合:

egrep '^hello|hello$' random.txt | awk '{$1=""; print $0}'

这意味着,结果从egrep被发送到awkawk拆分每个单词,将表示的第一个单词重置$1为空字符串并打印出该行的其余部分。


推荐阅读