タグで区切られたメッセージを含む大容量ファイルがあります<>
。
完全なタグ(値を含む)を取得する必要があります。以下の例をご覧ください。
<tvd:HostProductListStatus>000</tvd:HostProductListStatus><tvd:BeefProductListStatus>000</tvd:BeefProductListStatus><tvd:CustomerBranding>CC</tvd:CustomerBranding><tvd:InquiryAllowed>true</tvd:InquiryAllowed>
ただ持ってきて表示すればいいですただ次のタグ: ファイルが複数回表示されるかどうかに関係なく、ファイルの値:
<tvd:BeefProductListStatus>000</tvd:BeefProductListStatus>
これを行うコマンドは何ですか?
ベストアンサー1
入力と出力を公開すると仮定すると、GNU grepを使用して次のファイルを使用して実行できますinput
。
<input grep '<tvd:BeefProductListStatus>[^<]*</tvd:BeefProductListStatus>' -o -m1 \
| head -n1
grep -o
一致する部分のみを印刷する必要があり、同じ行で複数のインスタンスが一致するのを防ぎ、[^<]*
最初の一致行の後に停止する必要があります。同じ行にラベル付けされたデータの2つのインスタンスがある場合は、grepはそれぞれを出力するため、最初の一致だけに切り捨てる必要があります。<tvd:BeefProductListStatus>
-m1
head -n1