我需要找到包含特定字符串模式的所有文件。想到的第一个解决方案是使用xargs grep管道查找:
find . -iname '*.py' | xargs grep -e 'YOUR_PATTERN'
但是如果我需要找到跨越多行的模式,我会陷入困境,因为vanilla grep找不到多行模式。
发布于 2018-04-17 16:52:09
所以我发现了代表Perl Compatible Regular Expressions GREP的pcregrep。
例如,你需要找到' _name '变量紧接着' _description '变量的文件:
find . -iname '*.py' | xargs pcregrep -M '_name.*\n.*_description'
提示:您需要在您的模式中包含换行符。根据您的平台,它可能是'\ n',\ r','\ r \ n',...
发布于 2018-04-17 17:13:08
你为什么不去awk:
awk '/Start pattern/,/End pattern/' filename
https://stackoverflow.com/questions/-100003902
复制相似问题