2

私はsedを初めて使用するので、ご容赦ください...次のような内容のファイルがあります

a=1
b=2,3,4
c=3
d=8
.
.

「c=」で始まり、「x」を含まない行に「x」を追加したいと考えています。私が今使っているのは、

sed -i '/^c=/ s/$/x/'

しかし、これは私の説明の2番目の部分をカバーしていません。「x」は、行にまだ追加されていない場合にのみ追加する必要があるため、コマンドを2回実行すると、不要な行「c = 3xx」が作成されます.

ここでの助けは非常に高く評価され、ここには鋭い頭がたくさんあることを私は知っています:)これはbashを介して非常に簡単に処理できることを理解していますが、ここでsedを使用することは難しい要件です。

4

3 に答える 3

0

これはうまくいくかもしれません(GNU sed):

sed -i '/^c=[^x]*$/s/$/x/' file

また:

sed -i 's/^c=[^x]*$/&x/' file
于 2013-09-14T01:04:42.893 に答える