我有一个包含以下内容的文件
blah blah blah Zebra Blah blah blah Blah Bleh Dog Blag Noblah Someblah
我想删除斑马线和狗线中的线段。只删除斑马线先出现而狗线后出现的线段。如何在perl脚本中实现这一点?
owfi6suc1#
与如何从数组中删除元素的特定区域类似,这是触发器运算符的一个用例。
perl -ne 'print unless /Zebra/ .. /Dog/' < input-file
j2datikz2#
perl -ne'$r ||= /^Zebra$/; print if !$r; $r &&= !/^Dog$/;'
或
perl -ne'print if !( /^Zebra$/ .. /^Dog$/ );'
这些假设每个Zebra和Dogs都是成对的,并且它们不能嵌套。参见Specifying file to process to Perl one-liner。
2条答案
按热度按时间owfi6suc1#
与如何从数组中删除元素的特定区域类似,这是触发器运算符的一个用例。
j2datikz2#
或
这些假设每个Zebra和Dogs都是成对的,并且它们不能嵌套。
参见Specifying file to process to Perl one-liner。