我有一个包含多个条目的文件。条目由 - 如果在其中找不到某个短语,我想删除此模式之间的所有行。例子:
--
Company
Street
Zip Code
Country
--
如果 Country 在 -- 和 -- 之间找不到,则删除整个块
提前致谢 :)
也许以下内容会有所帮助:
use strict;
use warnings;
local $/ = '--';
print $/;
while (<>) {
print if /\bCountry\b/;
}
用法:perl script.pl dataFile [>outputFile]
数据:
--
Company
Street
Zip Code
Elephant
--
Company
Street
Zip Code
Country
--
Company
Street
Zip Code
Goat
--
Company
Street
Zip Code
Country
--
输出:
--
Company
Street
Zip Code
Country
--
Company
Street
Zip Code
Country
--
你可以这样做:
awk '!/Country/' RS='--\n' ORS='--\n'