bashで文字列を解析するより良い方法は何ですか?

bashで文字列を解析するより良い方法は何ですか?

bashスクリプトを使用して名前空間とインタフェース名を抽出するには、次のコマンドを解析する必要があります。私は通常このタスクを実行するためにIFSを使用しますが、これは私に退屈に見えます。 IFSを設定せずにこれを行うより良い方法はありますか?

    ovsdb-client dump Open_vSwitch  | grep nw-uplink    
    ffff-fff-ffff-ffff-fffffffff [ffff-fff-ffff-ffff-fffffffff] 10      "v1.1"    {id="ffff-fff-ffff-ffff-fffffffff"}     []              10       {timeout1="180", timeout2="3600", type="", connid2-val="", sat-enabled=no, namespace=default, nw-uplink="tap0", platform=kvm, timer="300", dest=localhost, dest-port="514"} "0.0.0-1-priv" []  {}         RedHatEnterpriseServer "6.6-Sanity"

ベストアンサー1

醜いAwk注文:

 awk 'BEGIN{RS=" "; FS="="} {gsub(/,|"/,"")} /namespace/ {name=$2}; /uplink/ {intf=$2} END {print name": "intf}' <(command)
 default: tap0

おすすめ記事