BSDを使用してくださいsed
。
次の置換をどのように実行できますか? :
今後:
hello hello hello
hello hello hello
後ろに:
hello world hello
hello hello hello
つまり、どのように交換できますか?これ 窒素仕事 発生するパターン?
(またはこの場合。これ 2ND 発生するパターン? )
ベストアンサー1
すべてのPOSIXの場合sed
:
$ sed -e'/hello/{' -e:1 -e'$!N;s/hello/world/2;t2' -eb1 -e\} -e:2 -en\;b2 <file
hello world hello
hello hello hello
最初のゲームが終わった後、
/hello/
私たちは混乱を続けました。ループ内で各ext行をパターン空間に読み込み、
:1
ndN
が発生した場合にのみ置換コマンドを実行しますs
。交換が成功したかどうかを見てみ2
ましょう。t
そうであればループが発生し:2
、そうでなければループが繰り返されますb1
。ループ内では、
:2
ファイルの最後まで残りの行を印刷します。
このメソッドは、2つの間のすべてを保存します。こんにちはパターン空間で。これは、最初のファイルと2番目のファイルが互いに離れている場合、大容量ファイルで問題になります。