如果标题措辞不好,我感到抱歉。这是主意。假设我有很多文件,并且希望查找所有出现的特定表达式,例如:
tag:"some text I wish to retrieve"
请注意,上面的整行将出现在文件中。我只想复制“标签”一词后的引号。
无论如何,我都不是bash的专家,但是我可以轻松地使用grep检索包含正则表达式的整行。简单。但是,我只想要该行的一部分。引号中的文本长度有所不同。最终,我想将所有事件合并到一个文件中。
例如,我要使用FILE 1和FILE 2并以FILE 3结尾:
文件1:
whatever:"text I don't want"
something:"More text I don't want" tag:"some text I wish to retrieve"
文件2:
whatever:"don't want" tag:"more text I wish to retrieve" something:"nope"
文件3:
some text I wish to retrieve
more text I wish to retrieve
可以使用bash完成此操作吗?我可以用一点点的努力就可以用C做到这一点,但是如果不需要的话,我宁愿不这样做。
编辑:
“ -o”仅用于显示与表达式匹配的行的一部分。我不知道如何在手册页中错过它。
您可以使用grep执行此任务。
grep -hrPo 'tag:"\K[^"]*' * > result
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句