gpt4 book ai didi

bash - 如何删除包含某些单词的所有行,但包含某些单词的行除外?

转载 作者:行者123 更新时间:2023-11-29 09:41:22 24 4
gpt4 key购买 nike

我有一个名为 file1.txt 的文件。我想删除包含“center of”、“farm”或“middle of”等词的每一行,但包含“①”或“city”的行除外。

  • 删除和异常(exception)列表很长。
  • 文件采用 UTF-8 格式。

我怎样才能删除至少包含其中一个单词的每一行,而不是那些有一些异常(exception)的行?

最佳答案

这可能对你有用:

sed -i '/center of\|farm\|middle of/{/①\|city/!d}' file1.txt

sed -i '/center of/ba
/farm/ba
/middle of/ba
b
:a
/①/b
/city/b
d' file1.txt

如果你有一个 words.txtexceptions.txt 文件,使用这个:

sed '/\*exceptions\*/{h;s/.*/:a/p;d}
x
/./{x;s|.*|/&/b|p;$!d;s/.*/d/;q}
x
s|.*|/&/ba|' words.txt - <<<"*exceptions*" exceptions.txt > file.sed
sed -i -f file.sed file1.txt

关于bash - 如何删除包含某些单词的所有行,但包含某些单词的行除外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10264966/

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