Regex 在具有多个引用的文件中的模式之间搜索
我试图在模式之间进行搜索。我知道如果只发生一次,sed就会这样做 以下是文件:Regex 在具有多个引用的文件中的模式之间搜索,regex,perl,sed,Regex,Perl,Sed,我试图在模式之间进行搜索。我知道如果只发生一次,sed就会这样做 以下是文件: Iowa<br> data1<br> data2<br> Montana<br> junk1<br> junk2<br> junk3<br> Iowa<br> data3<br> data4<br> Arizona<br> junk5<br> junk6<br>
Iowa<br>
data1<br>
data2<br>
Montana<br>
junk1<br>
junk2<br>
junk3<br>
Iowa<br>
data3<br>
data4<br>
Arizona<br>
junk5<br>
junk6<br>
不知道为什么它会打印爱荷华州-亚利桑那州及更远的地区。有没有办法只在爱荷华州和蒙大拿州之间打印内容
作为一种临时解决方法,我将打印所有内容并进行第一次引用。如果您想使用perl,则此一行程序将完成以下工作:
perl-ne'last if/Montana/;如果$i,则打印$i++if/Iowa/'$file
输出:
data1
data2
试试触发器操作符
perl -ne 'next if (1 ../Iowa/); last if(/Montana/); print;' input.txt
最后一个awk答案()适合。。。还建议添加您的预期输出,以了解您是否需要爱荷华州
和蒙大拿州
也在输出中或仅在它们之间的行中。。。另外,请明确您的输入是否可以包含多个或仅一个Iowa…Montana
perl -ne 'next if (1 ../Iowa/); last if(/Montana/); print;' input.txt