0

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

--
Company
Street 
Zip Code
Country
--

-と-の間に国が見つからない場合は、ブロック全体を削除してください

前もって感謝します :)

4

2 に答える 2

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
--
于 2013-01-31T05:44:25.843 に答える
1

次のように実行できます。

awk '!/Country/' RS='--\n' ORS='--\n'
于 2013-01-30T15:13:36.170 に答える