良い:
sed 's/</risk_measure_slice>/</risk_measure_slice>\n/g' allinoneline1.mqf
うまくいかない
答え1
正規表現と代替テキストにはが含まれています。これは、そのコマンドで区切り文字として使用される文字/
でもあります。sed
s
/
これは、例えば脱出する必要があることを意味します。
sed 's/<\/risk_measure_slice>/<\/risk_measure_slice>\n/g' allinoneline1.mqf
または、次のような別の区切り文字を使用します。
sed 's#</risk_measure_slice>#</risk_measure_slice>\n#g' allinoneline1.mqf
またはより短い、
sed 's#</risk_measure_slice>#&\n#g' allinoneline1.mqf
代替テキストにはが含まれています\n
。これはGNUでのみ改行文字として解釈されますsed
。 BSDを使用している場合、sed
この文字はとして出力されますn
。 GNU sed
、BSD、またはすべてのPOSIX準拠標準sed
でサポートされている標準構文sed
は次のとおりです。
sed 's#</risk_measure_slice>#&\
#g' allinoneline1.mqf
GNUを使用しsed
てXML閉じるタグを新しい行に追加するには、タグの\n
後ろではなくタグの前に配置する必要があります。
XMLファイルのフォーマット/修正/クエリのためのツールを見ることもできます。XMLスターまたは同様です。