私のファイル名はで、file123
内容は次のとおりです。
passwd:x:redhat
redhat:x:pass
passwd:x:linux
passwd:x:redhatlinux
passwd
ファイル内のキーワード、特に1,3行を変更したいと思います。
答え1
あなたはできます:
sed '1,3 s/^passwd/NEW/' file123
1,3
sed
1~3号線のみ運行s/^passwd/NEW/
passwd
先行(^
)をに置き換えて、NEW
必要に応じてこの値を変更します。 1~3行は一致しますが、1,3
正規表現パターンは例の1行と3行のみ一致するため、その行のみが修正されます。
ファイルを適切に編集するには、GNU実装を使用してくださいsed
。
sed -i '1,3 s/^passwd/NEW/' file123
答え2
行1と3のみを置き換えるには、次のようにします。
sed '
1 b subst
3 b subst
b
:subst
s/string/replacement/'
または以下を使用してawk
:
awk 'NR == 1 || NR == 3 {sub(/string/, "replacement")}
{print}'