私のファイル、
ARCHIVE B1_NAME B2_NAME B3_NAME ELEMENT INFO_NAM WERT PROCID
-------- -------- -------- -------- -------- -------- ---- ------
15MinAvg AIRSS 33-GIS DMDMGIS1 I MvAvr15m 1123 CP
15MinAvg AIRSS 33-GIS DMDMGIS1 P MvAvr15m 2344 CP
15MinAvg AIRSS 33-GIS DMDMGIS1 Q MvAvr15m 4545 CP
15MinAvg AIRSS 33-GIS DMDMGIS2 I MvAvr15m 6576 CP
15MinAvg AIRSS 33-GIS DMDMGIS2 P MvAvr15m 4355 CP
15MinAvg AIRSS 33-GIS DMDMGIS2 Q MvAvr15m 6664 CP
出力、
ARCHIVE B1_NAME B2_NAME B3_NAME ELEMENT WERT
-------- -------- -------- -------- ------- ----
15MinAvg AIRSS 33-GIS DMDMGIS1 I 1123
15MinAvg AIRSS 33-GIS DMDMGIS1 P 2344
15MinAvg AIRSS 33-GIS DMDMGIS1 Q 4545
15MinAvg AIRSS 33-GIS DMDMGIS2 I 6576
15MinAvg AIRSS 33-GIS DMDMGIS2 P 4355
15MinAvg AIRSS 33-GIS DMDMGIS2 Q 6664
2つの列を削除したいINFO_NAM
およびWERT
入力ファイルから。
印刷しない6番目 と8番目 カラム
awk '{$6=$8=""; print $0}' file
これは、Stack Overflowの他の箇所で以前に回答されています。
https://stackoverflow.com/questions/15361632/delete-a-column-with-awk-or-sedhttps://stackoverflow.com/questions/7551219/deleting- columns-from-a-file-with-awk-or-from-command-line-on-linux など。
awk
が最適です。
awk '{print $1,$2,$3,$4,$5,$7}' file
cut
も使用できます。
cut -f1,2,3,4,5,7 file
各フィールドの形式を保持するには、printf
を使用します。各フィールドの長さはx文字で、マイナス記号は文字列を左揃えにします。
awk '{ printf("%-8s %-8s %-8s %-8s %-8s %-4s\n", $1, $2, $3, $4, $5, $7)}' file