我有一个包含许多此类模块文件的文件夹:
115,55
,175:500
,123:400
,[blahblah]
,[blahblah]
...
,[blahblah]
200,*
,[blahblah]
,[blahblah]
,[blahblah]
...
每个块从一个以数字开头的行开始,在以数字开头的下一行之前结束。
我需要在同一个块中找到包含“115,55”和“,123:400”的文件。两者之间可以有任意数行:
115,55
,[blahblah]
...
,[blahblah]
,123:400
摘要:在点击以数字开头的行之前,找到“115,55”和下一个“123:400”的文件名。
注意:如果它有帮助,这是一个UDR(使用数据记录)文件。
Python,Perl,sed或awk会有所帮助。
提前致谢!
答案 0 :(得分:3)
perl -lne '/^115,55/ ... /^\d/ and /^,123:400/ or next;print $ARGV;close ARGV' *udr
答案 1 :(得分:1)
使用awk
:
awk '/115,55/{f=1;next}!/^,/{f=0;next}/,123:400/&&f{print FILENAME;nextfile}' /path/to/files/*