2

次の非常に長いファイルがあります。

...
close unit 1
...
...
close unit 1
...
...
close unit 1

stop

close unit 1前にある最後の行の前に複数の行を挿入したいstop。ファイルには未定義の数のclose unit 1.

あちこちで他の同様の質問をたくさん見つけましたが、答えは役に立ちませんでした...たとえば、https://stackoverflow.com/a/8635732/1689664を試しましたが、これはうまくいきませんでした...

4

3 に答える 3

2

sedと の使用tac:

$ tac inputfile | sed '/close unit 1/ {s/\(.*\)/\1\nLine3\nLine2\nLine1/; :loop; n; b loop}' | tac
...
close unit 1
...
...
close unit 1
...
...
Line1
Line2
Line3
close unit 1

stop

式では入力行を逆の順序で指定する必要があることに注意してくださいsed

于 2013-07-25T11:44:39.540 に答える