ファイルの2行目から2番目のフィールドを1行目に追加します。

ファイルの2行目から2番目のフィールドを1行目に追加します。

例で説明されているファイルに次のファイル(例)を生成するにはどうすればよいですか?

ステータス行(例)の各最後の単語は、前の行の最後の行に追加する必要があります。

例では

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にスペースを追加し、末尾の改行なしでそのまま印刷します。最初のフィールドと同じ行にstate2番目のフィールドを印刷します。そして(暗黙) 末尾の改行文字.

おすすめ記事