例で説明されているファイルに次のファイル(例)を生成するにはどうすればよいですか?
ステータス行(例)の各最後の単語は、前の行の最後の行に追加する必要があります。
例では
HDFS worker01.gtdns.com
state STARTED
HDFS worker02.gtdns.com
state STOP
HDFS worker03.gtdns.com
state STARTED
HDFS worker05.gtdns.com
state STARTED
HDFS worker06.gtdns.com
state STARTED
HDFS worker07.gtdns.com
state STARTED
HDFS worker08.gtdns.com
state STARTED
HDFS worker09.gtdns.com
state STOP
例(予想結果)
HDFS worker01.gtdns.com STARTED
HDFS worker02.gtdns.com STOP
HDFS worker03.gtdns.com STARTED
HDFS worker05.gtdns.com STARTED
HDFS worker06.gtdns.com STARTED
HDFS worker07.gtdns.com STARTED
HDFS worker08.gtdns.com STARTED
HDFS worker09.gtdns.com STOP
ベストアンサー1
awk '$1 == "HDFS" { printf( "%s ", $0 ) }; $1=="state" { print $2 }' /path/to/input
スクリプトawk
は説明がとても簡単です。最初のフィールドがある行から行HDFS
にスペースを追加し、末尾の改行なしでそのまま印刷します。最初のフィールドと同じ行にstate
2番目のフィールドを印刷します。そして(暗黙) 末尾の改行文字.