
다음과 같은 텍스트 파일이 있습니다.
707.421
KFDTL902
C
107.31 NL
Chn PCO
FMN
Chn Co
727.102
KFDTL901
C
107.32 NL
Chn PCO
FMN
Chn Co
이런 패턴으로 반복됩니다. 707.xxx([0-9]{3}.[0-9]{3})와 일치하려고 시도하고 일치 후 다음 7줄을 가져와 첫 번째 줄을 사용하여 CSV 행으로 만듭니다. 셀은 정규식 일치입니다. 따라서 출력은 다음과 같습니다.
707.421,KFDTL902,C,107.31 NL,Chn PCO,FMN,Chn Co
707.421,KFDTL902,C,107.31 NL,Chn PCO,FMN,Chn Co
707.421,KFDTL902,C,107.31 NL,Chn PCO,FMN,Chn Co
awk나 sed를 사용하여 이 작업을 수행할 수 있습니까? 이 도구를 사용하여 경기 후 다음 7줄을 어떻게 사용할 수 있나요?
답변1
와 함께 sed
:
$ sed '/^[0-9]\{3\}\.[0-9]\{3\}$/{N;N;N;N;N;N;s/\n/,/g}' input.txt
707.421,KFDTL902,C,107.31 NL,Chn PCO,FMN ,Chn Co
727.102,KFDTL901,C,107.32 NL,Chn PCO,FMN ,Chn Co
패턴과 일치하는 각 줄에 대해 다음 6줄을 읽고 패턴 공간에 추가한 다음 모든 줄 바꿈을 쉼표로 바꿉니다.