AWK/SEDを使用して複数の文字列から単語を抽出する

AWK/SEDを使用して複数の文字列から単語を抽出する

Linuxでは、AWKコマンドを使用して複数行から単語を抽出しようとし、AWKとSEDを使用してさまざまな方法を試しましたが、結果がないロジックを探しています。

付属ここに画像の説明を入力してください。テキストファイルであり、予想される出力です。

ベストアンサー1

使用XMLスター:

xmlstarlet sel -t -m '//APPLIANCE' -v 'concat(NAME/text()," ",STATUS/text())' -nl file.xml

与えられたデータに対して以下が生成される。

METASYNC Online
DELTA Offline

XML文書内のすべてのノードを見つけ、中間スペースを使用してAPPLIANCEその値と子ノードを連結することによってNAMEこれを行います。それぞれの結果を出力した後、末尾STATUSに改行文字を挿入します。-nlAPPLIANCE

列ヘッダーとより良い表形式が必要な場合:

( echo 'Device_name Status'
  xmlstarlet ...as above... ) | column -t

おすすめ記事