sedには、一致する行の後に行を追加するコマンドがありますか?私は周りを探索しようとしたが、結果と少し混乱していた。Sed Append Line
Basicllyは、私はそれが
#address=/doubleclick.net/127.0.0.1
と一致し、
#address=/doubleclick.net/127.0.0.1
address=/anotherurl/ipaddress
のように、その下の行を追加したい、これは可能ですか?
sedには、一致する行の後に行を追加するコマンドがありますか?私は周りを探索しようとしたが、結果と少し混乱していた。Sed Append Line
Basicllyは、私はそれが
#address=/doubleclick.net/127.0.0.1
と一致し、
#address=/doubleclick.net/127.0.0.1
address=/anotherurl/ipaddress
のように、その下の行を追加したい、これは可能ですか?
あなたはsed
にa
(追加)コマンドを使用することができます。
$ sed -i '/^#address=\/doubleclick.net\/127.0.0.1$/a\
> address=/anotherurl/ipaddress' file.txt
それとも、s
(代替)コマンドを使用することができます
$ sed -i '[email protected]^#address=/doubleclick.net/[email protected]&\naddress=/anotherurl/[email protected]' file.txt
注:$
と>
はbashのプロンプトです。
これはあなたのために働くかもしれない:
echo "#address=/doubleclick.net/127.0.0.1"|
sed '\|#address=/doubleclick.net/127.0.0.1|a\address=/anotherurl/ipaddress'
#address=/doubleclick.net/127.0.0.1
address=/anotherurl/ipaddress
あなたは\
は必要ありません代替コマンドの\
すなわち\|...|
を付加することで、アドレスにお好きな区切り文字を使用することができます。
あなたは空白行をしたい場合は、いくつかの試合次のテキスト、使用:
echo "#address=/doubleclick.net/127.0.0.1"|
sed '\|#address=/doubleclick.net/127.0.0.1|a\\naddress=/anotherurl/ipaddress'
#address=/doubleclick.net/127.0.0.1
address=/anotherurl/ipaddress
私はこれをスクリプトに追加する際に問題があります。それはスクリプトでそれを置き換えるものではありませんが、手動で実行します – awmusic12635
は、2つのラインコマンドまたはあなたはそれを間隔をあけていることですか? – awmusic12635
あなたは** ''を打ちました** \、bashは直ちに実行されず、最初の' ''にマッチする別の '' '(一重引用符)を待つ –
kev
うまくいきました – awmusic12635