我是 bash 脚本的初学者。我刚开始写一个脚本,它检查 b.txt 的内容是否都可以在 a.txt 中找到。(最好是一行一行)。我的代码如下:
grep -Ffw b.txt a.txt
如您所见,我想做固定字符串而不是 REGEX,我想检查 b.txt 文件中的所有内容,因为 b.txt 中有一些字符串,我想检查它们是否都存在于 a.txt 中。文本。当然,我也只想匹配整个单词。所以这些是要求,但是当我运行这个命令时,它返回一个错误说:grep: w: No such file or directory
我在想也许 bash 中的标志有一些限制?对不起,我没有真正熟悉的语言,并没有太大阅读手册页等。如果有人可以帮助我解决这个问题,将不胜感激:)另外的困扰,我想如果可能的话,我想一个添加-q
到当存在匹配时也抑制输出,现在我没有在示例中添加它,因为它甚至无法通过 3 个标志。那么有人可以在这里给我一些提示吗?提前致谢!
特此手册页中的一些解释:
OPTIONS
Generic Program Information
...
-F, --fixed-strings
Interpret PATTERNS as fixed strings, ...
-f FILE, --file=FILE
Obtain patterns from FILE, ...
-w, --word-regexp
Select only those lines ...
如您所见,选项-F
和-w
指示立即结束(因此逗号-F,
和-w,
),但-f
开关后跟FILE,
表示它们属于一起。
我想保留 order Ffw
,这是可能的,但是您需要执行以下操作:
grep -Ff b.txt -w a.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句