AWK:各行の最初のフィールドをその行の各後続フィ​​ールドの識別子として印刷します。

AWK:各行の最初のフィールドをその行の各後続フィ​​ールドの識別子として印刷します。

フィールド区切り文字にスペースがあるこのような入力ファイルがあります。

AAABBB: 243.234.12.2 123.3.2 231.5.12 451.192.29.9
BBXDS: 324.22.32.5 235.235.283 234.239. 234.23.23.1 
DDF: 23.12.59.09 98.39.239.29 394.293.2.2

出力は次のようになります。

AAABBB: 243.234.12.2
AAABBB: 123.3.2
AAABBB: 231.5.12
AAABBB: 451.192.29.9
BBXDS: 324.22.32.5
BBXDS: 235.235.283
BBXDS: 234.239.
.....

各行の最初のフィールドは、行の最後までその行の各列の前に新しい行として印刷する必要がある識別子です。

ベストアンサー1

とても簡単です:

awk '{ for(i=2; i <= NF; i++) print $1, $i}' < input

各行で2から最後のフィールド(Nフィールド数F)まで繰り返し、フィールド1を印刷してフィールドを繰り返します。

おすすめ記事