awkを作成して列を取得します。

awkを作成して列を取得します。

次の質問があります。

構造情報を見る:

0   PATRAC_1  False   Normal    Normal  3     Not configure

7つの列と7つの値があるため、awkを使用して値を取得する必要があります。最初はスペースなどの区切り文字を使用するため、 を入力するとprint $1「0」が表示され、 を入力するとprint $2「が表示されます。 PATRAC_1」など

ただし、列7を取得しようとすると、「not」と「configure」の間にスペースがあるため、「Not」のみが表示されます。

それでは、問題を解決するにはどうすればよいですか?

ベストアンサー1

データが固定列にある場合は、その列を分割するようにawkに要求できます。列幅設定を介してFIELDWIDTHS。たとえば、

awk '
 BEGIN{ FIELDWIDTHS="4 10 8 10 8 6 99" }
 { printf "1=%s 2=%s 7=%s\n", $1, $2, $7 }
'

与えられた

1=0    2=PATRAC_1   7=Not configure     

おすすめ記事