다음 정보가 포함 된 텍스트 파일이 있습니다.Awk 특정 형식의 특정 줄 인쇄
Table X1: Circuit Thermal Overload Ratings for xxx
Rated Temperature: 50 ºC
ALL RATINGS ARE Winter Spring/Autumn Summer
PER CIRCUIT Amps MVA Amps MVA Amps MVA
Pre-Fault Continuous 485 111 450 103 390 89
Post-Fault Continuous 580 132 540 123 465 106
Table X2: Circuit Thermal Overload Ratings for xxx
Rated Temperature: 65 ºC
ALL RATINGS ARE Winter Spring/Autumn Summer
PER CIRCUIT Amps MVA Amps MVA Amps MVA
Pre-Fault Continuous 555 126 520 119 470 108
Post-Fault Continuous 660 150 620 142 560 128
예시적인 테이블의 이미지는 여기 : I는 각 행의 첫 번째 필드에 따라 라인 포맷하고자 example table
. 'Pre'또는 'Post'로 시작하는 줄의 경우 첫 번째 문자열 뒤에 쉼표를 넣고 두 숫자 사이에 쉼표를 삽입하십시오. printf ("% s % s, % d, % d, % d, % d, % d, % d \ n", $ 1, $ 2, $ 3, $ 4, $ 5, $ 6, $ 7, $ 8) 'ALL'은 'ARE', 'Winter'및 'Autumn'뒤에 쉼표를 넣습니다. 'PER'로 시작하는 줄은 'CIRCUIT', 'Amps'및 'MVA'다음에 쉼표를 넣으십시오. 다른 라인에 대한 , 원본 텍스트를 유지 ...
예상 출력과 같아야합니다,
- ALL 등급은, 겨울, 봄/가을, 여름
- PER 회로, A, MVA 내용입니다 A, MVA, A,
- 후 결함 연속
- 예비 결함 연속 MVA , 555, 126, 520, 119, 470, 108, 660, 150, 620, 142, 560, 128
다음을 시도했지만 찾고있는 결과가 나오지 않습니다. 어떤 도움이라도 대단히 감사하겠습니다.
/Table/
{for(n=0; n<=5; n=n+1) {
if(n<2){getline}
if(n==2)
{printf("%s%s%s,%s,%s%s%s,%s",$1,$2,$3,$4,$5,$6,$7,$8)}
if(n==3)
{printf("%s%s,%s,%s,%s,%s,%s,%s",$1,$2,$3,$4,$5,$6,$7,$8)}
if(n==4||n==5)
{printf("%s %s,%d,%d,%d,%d,%d,%d\n",$1,$2,$3,$4,$5,$6,$7,$8) }
}
}
감사합니다. 질문에 샘플 표를 추가하려고 시도했지만 올바르게 표시되지 않습니다. ... –
더 나은 결과를 얻으려면 예상 출력을 추가하십시오. – Sundeep
데이터 형식을 지정했으나이 사이트를 사용하려면 기본 사항을 배우는 데 시간을 투자해야합니다. – karakfa