2020年5月17日日曜日

2つのコマンドの結果を列としてマージする

pasteコマンドと<()を使用する事で、2つのコマンドを列としてマージする事ができます。

〇元コマンドの出力イメージ
$ sudo gluster peer status
Number of Peers: 2

Hostname: node1
Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
State: Peer in Cluster (Connected)

Hostname: node2
Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
State: Peer in Cluster (Connected)

〇マージ出力結果
以下の例では、Hostname:で始まる行とState:で始まる行をそれぞれ別コマンドとして抽出して、列としてマージしています。
$ paste -d '' <(sudo gluster peer status | grep 'Hostname:' | sed -e 's/Hostname: //') <(sudo gluster peer status | grep 'State:' | sed -e 's/State: /,/')
node1,Peer in Cluster (Connected)
node2,Peer in Cluster (Connected)

0 件のコメント:

コメントを投稿