この行に問題があるかどうか尋ねたいです。
sed -i "/$PWD/a\ Hello World" historia.txt
私がこれを入れたら、もちろん変数を拡張せずに動作することを''
除いてください。""
答え1
問題は、パスに文字が含まれていて、代替パラメータの分離にも/
その文字を使用していることです。最も簡単な回避策は、データに表示されない他の区切り文字(たとえば、次の例のように、またはカンマ)をsed
使用することです。sed
|
sed -i "s,${PWD},a Hello World," historia.txt
編集:上記はあなたが経験している問題(スラッシュ衝突)について説明しています。しかし、私は(今)あなたが変更するのではなく、一致する行の後に行を追加するのを見ています。この場合、PWD
パスからスラッシュをエスケープできますsed
。たとえば、次のようになります。
sed -i "/${PWD//\//\\/}/a Hello World" historia.txt