• 締切済み

linux5の環境下で困っています。

linux5の環境下で困っています。 あるテキストファイルで、マッチングさせた行の数行下の行を置換するにはどうしたら良いでしょうか? ここに、001.txtがあるとします。内容は、以下の通りだとします。 ここから------------------------------------- ここは東京都です。 私の名前はkurokuro64です。 100 200 300 100 100 200 ここまで------------------------------------- このテキストファイルの2行目「私の名前はkurokuro64です。」をマッチングさせて、 6行目の「100」だけを「777」に換えるにはどうしたら良いでしょうか? やはりgrepやsedを駆使して抽出して置換するのでしょうか? 毎回、素人丸出しで大変申し訳無いのですが、どうぞ宜しくお願い致します。

みんなの回答

回答No.1

Linux5って・・・ awkを使うのがいいんじゃないかと。 マッチングさせた行の行番号を記録して、その行+アルファの行で置き換えを行えばよいのだとは思うのですが・・・ ただ、ざっと考えて、マッチングさせた行から、変更する行の間にもう一度マッチングする行が現れる場合などを考慮するとめんどくさくなるかも。 あと、awkが日本語でマッチングができたかどうか試していません。

関連するQ&A