gpt4 book ai didi

regex - 如何打印仅包含 BASH 列表中字符的行?

转载 作者:行者123 更新时间:2023-11-29 08:53:33 26 4
gpt4 key购买 nike

我有一个名为“dictionary.txt”的文件,其中包含所有可能单词的列表,例如:

a
aardvark
act
anvil
ate
...

我如何搜索这个,只打印包含有限列表中字母的行,例如,如果列表包含字母“c”、“a”和“t”,搜索将显示这些词:

a
act
cat

如果搜索字母“e”、“a”和“t”,则只能从“dictionary.txt”中找到这些词:

a
ate
eat
tea

我管理的唯一解决方案是:

  • 创建所有可能字母的列表。
  • 从这个列表中删除搜索到的字母,留下一个我不想搜索的字母列表。
  • 使用 for 循环循环每个字母,从字典中删除包含这些字母的所有行。
  • 打印字典中剩余的单词。

这个解决方案非常慢。另外,我需要将此代码与其他语言一起使用,这些语言有数千种可能的字符,因此这种搜索方法特别慢。

我怎样才能只打印“dictionary.txt”中只包含搜索字母的那些行,而没有其他内容?

最佳答案

grep '^[eat]*$' dictionary.txt

解释:

^ = 表示行首的标记

$ = 表示行尾的标记

[abc] = 字符类(“匹配这些字符中的任何一个”)

* = 字符类的乘数(零次或多次重复)

关于regex - 如何打印仅包含 BASH 列表中字符的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23740463/

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