【发布时间】:2016-08-02 08:51:18
【问题描述】:
我现在正在做一个项目。在这个项目中,由于某些原因,我需要从与模式匹配的输出(或文件)中排除第一个字符串。困难在于我只需要排除一个字符串,只需要从流中排除第一个字符串。 例如,如果我有:
1 abc
2 qwerty
3 open
4 abc
5 talk
在一些脚本工作后,我应该有这个:
2 qwerty
3 open
4 abc
5 talk
注意:我对单词前的数字一无所知,因此我无法使用有关它们的知识过滤输出。
我用 grep 编写了小脚本,但它会删掉与模式匹配的每个字符串:
'some program' | grep -v "abc"
阅读有关 awk、sed 等的信息,但不明白我是否能解决我的问题。 有什么帮助,谢谢。
【问题讨论】:
-
是的,我可以。如果我将上面的脚本与上面的输出一起使用,我将得到下一个答案:“2 qwerty 3 open 5 talk”。你看,我需要最后一个“4 abc”字,但我没有。我明白为什么。我不明白的东西 - 如何修改脚本,或者我应该使用什么样的工具。
-
只需要剪掉第一个出现的单词吗?
-
@user3016814:如航海问题,您只需要删除第一个匹配项?
-
是的,好像是这样的,我需要删除单词最先出现的字符串。
-
非常感谢。我一直在努力解决这个问题,现在它解决了=)