2011-12-21 14 views
9
sed -i "/xxxxxxxxxxxx/r inc-sausage" git.html 
sed -i "/xxxxxxxxxxxx/d" git.html 

まずXXXXXXXXXXXXがファイルの内容と置き換え/代替パターン

第二に発見されたとき、私は私がXXXXXXXXXXXX

どちらのコマンドは、私が欲しい正確に何を削除INC-ソーセージの内容を挿入します。しかし、両方のsedコマンドをどのように組み合わせて単一のコマンドにすることができますか?あなただけではなくxxxxxxxxxxxxを削除したい場合は、

sed -i -e "/xxxxxxxxxxxx/r inc-sausage" -e "//d" git.html 

をも: 私はあなたが1行に両方sedコマンドを連結し、このように、検索文字列の繰り返しを避けるcoould、手始めに

sed -i "s/xxxxxxxxxxxx/r inc-sauasge" git.html 

答えて

9

を試してみましたその行に他のものは、あなたがその代わりに行うことができます:

sed -i -e "/xxxxxxxxxxxx/r inc-sausage" -e "s///" git.html 
3

これはあなたのために働くかもしれない:

sed -i '/xxxxxxxxxxxx/{r inc-sausage'$'\n''d}' git.html 

説明:

$'\n'が必要な理由hereを参照してください。また、dコマンドは、パターンスペースを削除してすぐに次のサイクルを開始するので、最後にする必要があります。

またはGNUのための

はsedを:

sed -i '/xxxxxxxxxxxx/s|.*|cat inc-sausage|e' git.html 
関連する問題