質問: sedを使用してパターンの最初の出現にテキストを追加します 以下のようなテキストファイルがあるとします。hello world types="" mario types="game" 私がやりたいのは、type=""の最初の出現を見つけて、wordの「プログラム」を追加することです。次のように出力する必要があります:hello world types="program" mario types="game" これをunixシェルスクリプトで使用する必要があります。私が試したのは:sed -i '1,/types=""/s/types=""/types="program"/' filename コマンドの見た目は、追加ではなく挿入のみです。 a\を追加しようとしましたが、まだ機能しません。
回答: sedワンライナー置換は、意図したとおりにすでに機能しているようです。$ cat t.txt hello world types="" mario types="game" $ sed '1,/types=""/s/types=""/types="program"/' t.txt hello world types="program" mario types="game" 質問を編集して、sedコマンド(-iオプションなし)を実行したときにyouが何を取得するかを示すことは価値があるかもしれません結果が端末に出力されるようにします)。ところで、1,/types=""/の範囲は冗長です。次のように簡略化できます。sed '/types=""/s/types=""/types="program"/' t.txt