如何找到至少包含一组单词中的一个作为前缀的所有行
How to find all lines which contain at least one of a set of words as a prefix
我有一个单词文本文件,每行一个,名为 A。
我还有一个文本文件B.
如何找到 B 中至少有一个 A 中的单词作为前缀的所有行?
我希望能够从命令行执行此操作,也许可以使用 grep,但任何其他命令行解决方案也都很棒。
例如,如果 A 是
apple
bob
cheese
B 是
aple
bob123
ches
我希望返回行 bob123。
一种方法是使用bash
的process substitution和sed
为A的每一行添加一个正则表达式行首^
锚点,然后告诉 grep
将其用作要搜索的正则表达式列表:
$ grep -f <(sed 's/^/^/' a.txt) b.txt
bob123
我有一个单词文本文件,每行一个,名为 A。
我还有一个文本文件B.
如何找到 B 中至少有一个 A 中的单词作为前缀的所有行?
我希望能够从命令行执行此操作,也许可以使用 grep,但任何其他命令行解决方案也都很棒。
例如,如果 A 是
apple
bob
cheese
B 是
aple
bob123
ches
我希望返回行 bob123。
一种方法是使用bash
的process substitution和sed
为A的每一行添加一个正则表达式行首^
锚点,然后告诉 grep
将其用作要搜索的正则表达式列表:
$ grep -f <(sed 's/^/^/' a.txt) b.txt
bob123