指定された行番号と列の文字列を置き換える

指定された行番号と列の文字列を置き換える

行4から19823の後ろにある「K」文字を変更したいのですが、後ろの「K」文字を変更したくありません。

19822SOL     OW60021   7.173   
19822SOL    HW160022   7.230   
19822SOL    HW260023   7.124   
19823K        K60024   8.427   

したがって、新しいファイルは次のようになります。

19822SOL     OW60021   7.173   
19822SOL    HW160022   7.230   
19822SOL    HW260023   7.124   
19823exc      K60024   8.427   

現在、私はsedコマンドを使用して4行のKをexに置き換える方法を知っています。

sed -i "4s/K/exc/g" <newfile> 

しかし、選択する列を指定する方法がわかりません。

ベストアンサー1

特定の項目に関するものであれば、フラグは一度だけ交換されるため、フラグKを削除してgもかまいません。したがって:sedK

sed -i "4s/K/exc/" <newfile> 

つまり、4行目の最初の項目を置き換えますKexc

おすすめ記事