2つのsedコマンドの組み合わせ

2つのsedコマンドの組み合わせ

Linuxで次のsedコマンドを結合する方法

sed -rn 's/.*MsgFlow="([^"]*)".*/\1/p'  ADVQCC_OUTPUT_BRK1

そして

sed -n 's:.*<ProcessDtm>\(.*\)</ProcessDtm>.*:\1:p' ADVQCC_OUTPUT_BRK1

ありがとう

ベストアンサー1

sedたとえば、含まれているセミコロンを使用して複数のコマンドをリンクするなど、単純にコマンドをリンクできることがよくあります。s

sed 's/some/another/;s/stuff/thing/'

あなたの場合は、次を使用するコマンド拡張正規表現(ERE)、別基本正規表現したがって、次のいずれかを変換する必要があります。

sed -n 's/.*MsgFlow="\([^"]*\)".*/\1/p;s:.*<ProcessDtm>\(.*\)</ProcessDtm>.*:\1:p' ADVQCC_OUTPUT_BRK1

または ERE を使用してください。

sed -En 's/.*MsgFlow="([^"]*)".*/\1/p;s:.*<ProcessDtm>(.*)</ProcessDtm>.*:\1:p' ADVQCC_OUTPUT_BRK1

注: より多くのバージョンの-r-Esed

おすすめ記事