0

シェルでファイルを再フォーマットする必要があるため、パターンの前に「改行」のみを残します。元:

入力:

Europe First
Asia Second
Africa Third
Australia Fourth
Europe Sixth
Australia Seventh
Europe  Eight
America Last

出力:

Europe FirstAsia SecondAfrica ThirdAustralia Fourth
Europe SixthAustralia Seventh
Europe  EightAmerica Last

パターンは「ヨーロッパ」

4

3 に答える 3

1
perl -i -0777pe's/\n(?!Europe|\z)/ /g' file
于 2012-09-07T14:27:14.997 に答える
0

パターンで始まる場合は、chompすべての行とその前に追加の改行を追加するだけですprint

perl -ne 'chomp; print "\n"  if /^Europe/; print' myfile
于 2012-09-07T14:30:36.847 に答える
0

これはうまくいくかもしれません(GNU sed):

sed ':a;$!N;/\nEurope/!s/\n//;ta;P;D' file
于 2012-09-07T21:33:37.110 に答える