我有一个包含多个条目的文件。条目分开 - 如果在其中找不到某个短语,我想删除此模式之间的所有行。 例如:
--
Company
Street
Zip Code
Country
--
如果在 - 和 - 之间找不到国家/地区,则删除完整的块
提前致谢:)
答案 0 :(得分:1)
你可以这样做:
awk '!/Country/' RS='--\n' ORS='--\n'
答案 1 :(得分:1)
也许以下内容会有所帮助:
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
--