1行の2つの単語の間にあるテキストを除外

1行の2つの単語の間にあるテキストを除外

次のテキストがあります。


23660291|2019-12-23T23:13:24.380000|44.0108|11.3048|9.7|SURVEY-INGV||||ML|1.4|--|5 km E Barberino di Mugello (FI)

23610441|2019-12-17T03:40:08.660000|44.0317|11.2825|9.9|SURVEY-INGV||||ML|1.0|--|5 km NE Barberino di Mugello (FI)

23610371|2019-12-17T02:42:40.600000|44.0283|11.2798|9.8|SURVEY-INGV||||ML|1.4|--|4 km NE Barberino di Mugello (FI)

23609901|2019-12-17T00:19:33.840000|44.0362|11.2713|7.6|SURVEY-INGV||||ML|0.6|--|5 km NE Barberino di Mugello (FI)

23596801|2019-12-14T21:47:53.240000|44.0172|11.3043|9.3|SURVEY-INGV||||ML|1.8|--|5 km E Barberino di Mugello (FI)

続きますが、レイアウトは同じです。

一部の列のみをインポートするには、テキストを除外する必要があります。このようなテキスト

2019-12-23T23:13:24.380000|SURVEY-INGV|1.4|--|5 km E Barberino di Mugello (FI)

何度も試してみましたが詰まっていました。誰でも私を助けることができますか?

ベストアンサー1

これが正しいテキストであれば、次のように動作します。

awk -F "|" 'BEGIN{OFS="|"} NR==1 {print $2,$6,$11,$12,$13}' file.txt

|最初の部分は、入力フィールドの区切り文字をawk -F "|"。次に、出力から必要に応じて各フィールドまたは列間のフィールド区切り文字を印刷しますBEGIN{OFS="|"}。次に、最初の行またはレコードの特定の列を印刷しますNR==1 {print $2,$6,$11,$12,$13}' file.txt

出力:

2019-12-23T23:13:24.380000|SURVEY-INGV|1.4|--|5 km E Barberino di Mugello (FI)

おすすめ記事