sed コマンドを使用して、最初のパターン発生を見つけて追加します。

sed コマンドを使用して、最初のパターン発生を見つけて追加します。

次のテキストファイルがあるとします。

Hello world
types=""
Mario
types="Game"

私が望むのは、単語が最初に表示されるものを見つけてそのtype=""単語を追加することです。program

私が望む出力:

Hello world
types="program"
Mario
types="Game"

Unixシェルスクリプトで使用する必要があります。

私が試したこと:

sed -i  '1,/types=\"\"/s/types=\"\"/types=\"program\"/' filename

このコマンドは挿入のみを行い、追加しません。追加しようとしましたが、a\まだ機能しません。

ベストアンサー1

{   sed '/types=""/!b
        s/"/&program/;q'
    cat
}   <infile >outfile

POSIXはsed入力ファイルのオフセットを入力位置に正確に保ちますq。ただし、GNUの場合はsedこのオプションが必要な場合があります-u

おすすめ記事