查找多行字符串匹配的文件

2024-04-24 04:49:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件夹,里面有许多这样的模式块文件:

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会有所帮助。你知道吗

提前谢谢!你知道吗


Tags: 文件数据文件夹数量文件名记录模式数字
2条回答
perl -lne '/^115,55/ ... /^\d/ and /^,123:400/ or next;print $ARGV;close ARGV' *udr

使用awk

awk '/115,55/{f=1;next}!/^,/{f=0;next}/,123:400/&&f{print FILENAME;nextfile}' /path/to/files/*

相关问题 更多 >