awk를 사용하여 테이블의 공백 인쇄

awk를 사용하여 테이블의 공백 인쇄

다음과 같은 패턴이 있습니다.

 No Type  Pid    Status  Cause Start Rstr  Err Sem Time Program          Cl  User         Action                    Table
-------------------------------------------------------------------------------------------------------------------------------
 0 DIA    10897 Wait          yes   no     0   0    0                                    NO_ACTION
 1 DIA    10903 Wait          yes   no     0   0    0                                    NO_ACTION
 2 DIA    10909 Wait          yes   no     0   0    0                                    NO_ACTION
 3 DIA    10916 Wait          yes   no     0   0    0                                    NO_ACTION
 4 DIA    10917 Wait          yes   no     0   0    0                                    NO_ACTION
 5 DIA     9061 Wait          yes   no     1   0    0                                    NO_ACTION
 6 DIA    10919 Wait          yes   no     0   0    0                                    NO_ACTION
 7 DIA    10920 Wait          yes   no     0   0    0                                    NO_ACTION
 8 UPD    10921 Wait          yes   no     0   0    0                                    NO_ACTION
 9 BTC    24376 Wait          yes   no     0   0    0                                    NO_ACTION
10 BTC    25651 Wait          yes   no     1   0    0                                    NO_ACTION
11 BTC    25361 Wait          yes   no     0   0    0                                    NO_ACTION
12 BTC    15201 Wait          yes   no     0   0    0                                    NO_ACTION
13 BTC     5241 Wait          yes   no     0   0    0                                    NO_ACTION
14 BTC    23572 Wait          yes   no     0   0    0                                    NO_ACTION
15 BTC     8603 Wait          yes   no     0   0    0                                    NO_ACTION
16 BTC     1418 Wait          yes   no     0   0    0                                    NO_ACTION
17 BTC    18127 Wait          yes   no     1   0    0                                    NO_ACTION
18 BTC    14780 Wait          yes   no     0   0    0                                    NO_ACTION
19 BTC    18234 Wait          yes   no     0   0    0                                    NO_ACTION
20 BTC    14856 Wait          yes   no     0   0    0                                    NO_ACTION
21 SPO    10934 Wait          yes   no     0   0    0                                    NO_ACTION
22 UP2    10939 Wait          yes   no     0   0    0                                    NO_ACTION

이제 awk를 사용하여 아래와 같이 변환합니다.

NO=0,Type=DIA,Pid=10897,Status=Wait,Cause=yes,Start=no,Rstr=0,Err=0,Sem=0,Time=NO_ACTION,Program=,Cl=,User=,Action=,Table=

위는 모든 행에 대해 동일한 한 행의 예입니다.

우리는 sed 명령을 통해 런타임에 열 헤더를 제거했으며 이제 awk를 사용할 때 상태와 이유 사이의 공백을 잃고 이유에서 시작해야 하는 값을 씁니다.

우리는 다음 명령을 사용하고 있습니다.

awk 'BEGIN{FS=" ";OFS=","}{print "NO="$1,"Type="$2,"Pid="$3,"Status="$4,"Cause="$5,"Start="$6,"Rstr="$7,"Err="$8,"Sem="$9,"Time="$10,"Program="$11,"Cl="$12,"User="$13,"Action="$14,"Table="$15;}'

우리는 출력이 다음과 같기를 원합니다.

NO=0,Type=DIA,Pid=10897,Status=Wait,Cause=,Start=yes,Rstr=no,Err=0,Sem=0,Time=0,Program=,Cl=,User=,Action=NO_ACTION,Table=

이러한 빈 필드를 추가하는 것에 대한 또 다른 점은 때때로 일부 값이 있다는 것입니다.

관련 정보