내 파일
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
나는 두 개의 열을 삭제할 INFO_NAM
하고 WERT
내 입력 파일에서.
답변
6 번째 와 8 번째 열을 인쇄하지 마십시오
awk '{$6=$8=""; print $0}' file
답변
이것은 스택 오버플로의 다른 곳에서 이미 답변되었습니다.
/programming/15361632/delete-a-column-with-awk-or-sed
/programming/7551219/deleting-columns-from-a-file-with-awk 또는 명령 줄에서 리눅스
등
나는 그것이 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