ファイル名Staff.txtとサンプルコンテンツは次のとおりです。
JHON
MANAGER
10000
JHON
ファイル内で探したいと思い、その行の後の2行目の内容を別の単語/番号に変更したいと思います。
どうすればいいですか?
ベストアンサー1
ed -s staff.txt <<< $'/JHON/+2s/.*/4242\nw\nq'
-s
これはファイルのスクリプトモード()でedを呼び出しstaff.txt
、ここで引用されたANSI文字列に次のコマンドを送信します。
- ()を含む行
JHON
とその行を超えて2行を探します。+2
.*
その行で()内のすべての項目を検索して置き換えます。4242
w
ディスクへのファイルの書き込みq
それによって編集されました
真ん中にあるのは\n
他のed
コマンドを区別します。
または、次のようにc
行を変更できます。
ed -s staff.txt <<< $'/JHON/+2c\n4242\n.\nw\nq'
ここで、代替テキストはc
ピリオド(\.\n
)で終わる(コマンドの後に)別々に入力する必要があります。