gpt4 book ai didi

unix - grep 使用上下文反转搜索

转载 作者:行者123 更新时间:2023-12-03 11:59:00 25 4
gpt4 key购买 nike

我想过滤掉文件中匹配行前后的几行。

这将删除我不想要的行:

$ grep -v "line that i don't want"

这将在我不想要的行之前和之后打印 2 行:
$ grep -C 2 "line that i don't want"

但是当我将它们组合起来时,它不会过滤掉我不想要的行之前和之后的 2 行:
# does not remove 2 lines before and after the line I don't want:
$ grep -v -C 2 "line that i don't want"

如何不仅过滤掉我不想要的行,还过滤掉它前后的行?我猜 sed会更好...

编辑:我知道这可以在 awk/Perl/Python/Ruby/etc 的几行中完成,但我想知道是否有我可以从命令行运行的简洁单行。

最佳答案

如果这些行都是唯一的,您可以 grep 要删除到文件中的行,然后使用该文件从原始文件中删除这些行,例如

grep -C 2 "line I don't want" < A.txt > B.txt
grep -f B.txt A.txt

关于unix - grep 使用上下文反转搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3874112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com