複数のエントリを含むファイルがあります。エントリは次のように区切られます-特定のフレーズが中に見つからない場合は、このパターン間のすべての行を削除します。例:
--
Company
Street
Zip Code
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'