私はsedを学んでいるので、この場合「line」という単語の2番目の項目を変更しようとしています。だから、次のコマンドを発行します。
(zet:pc:~/text) sed 's/line/LINUX/2' mytextfile
this is line 1
this is line 2
this is line 3
this is line 4
this is line 5
しかし、出力で "sed"が2番目に現れるworld "line"を置き換えないことがわかります。それでは、私がここでミスをしているのでしょうか?
ベストアンサー1
s/../../2
各行の2番目の項目を置き換えます。
ファイルを次のように読み込むと一つワイヤー:
GNUの使用sed
:
sed -z 's/line/LINUX/2' mytextfile
通常の状況ではsed
:
tr '\n' '\0' < mytextfile | sed 's/line/LINUX/2' | tr '\0' '\n'
これにより、誤った結果が生成されます。高いできないこのファイルの場合すでにヌルバイトを含みます。
2行目の最初の項目を置き換えるには、他の答えを参照してください:-)