Makefile の複数行 sed

Makefile の複数行 sed

sed使用するものが1つありますMakefile。端末で動作します。コマンドは

sed -n '/[{]/,/[}]/{
p
/[}]/a\
 //end of block matching brace
}' myfile.txt

これにより、次のエラーメッセージが表示されますmake

/bin/sh: 2: Syntax error: Unterminated quoted string

バックスラッシュを追加するか、すべてを1行に入れると、次のような結果が得られます。

sed: -e expression #1, char 14: extra characters after command

どんな助けでも大変感謝します。

ベストアンサー1

努力する

$ sed -n -e '/[{]/,/[}]/{p; /[}]/ a\ //end of block matching brace' -e' }' file
{sdfg
If I add backslashes or place everything on one line I get
df }
 //end of block matching brace

-e追加されたテキストを終了する必要があるため、2つの(式)オプションが必要です。すべてのsedバージョンで同じ行にテキストを追加することはできません(私のGNUはsed許可しますが、FreeBSDはsed許可しません)。

おすすめ記事