![쉘 명령을 사용하여 텍스트에 있는 바이트를 3개의 열로 분할합니다.](https://linux55.com/image/125139/%EC%89%98%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%85%8D%EC%8A%A4%ED%8A%B8%EC%97%90%20%EC%9E%88%EB%8A%94%20%EB%B0%94%EC%9D%B4%ED%8A%B8%EB%A5%BC%203%EA%B0%9C%EC%9D%98%20%EC%97%B4%EB%A1%9C%20%EB%B6%84%ED%95%A0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
input.txt
다음 단락이 포함된 파일이 있습니다 .
[730480.910190] [MACSTATUSIND] ACTIND_ParseMACSTATUS:
[730480.910205] fe 0a 39 01 0a 00 51 e7 ba 9d c7 0d 00 00 00 00 ..9...Q....
[730480.910220] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...........
[730480.910233] 00 00 00 00 00 00 00 00 00 00 xx xx xx xx xx xx .....:bC.B.
[730480.910247] xx xx yy yy yy yy yy yy zz zz 64 34 e8 ff 00 00 ......d4...
[730480.910190] [MACSTATUSIND] ACTIND_ParseMACSTATUS:
[730480.910205] fe 0a 39 01 0a 00 51 e7 ba 9d c7 0d 00 00 00 00 ..9...Q....
[730480.910220] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...........
[730480.910233] 00 00 00 00 00 00 00 00 00 00 aa bb cc dd ee ff .....:bC.B.
[730480.910247] gg hh ii jj kk ll mm nn oo pp 64 34 e8 ff 00 00 ......d4...
위의 데이터를 기반으로 각 단락마다 세 개의 열을 만든 다음 행을 다른/새 파일에 저장하려고 합니다 new.txt
.
출력: new.txt
col1 col2 col3
------- ---- ------
xxxxxxxx | yyyyyy | zzzz
aabb..gghh | ii..nn | oopp
노트: 위의 단락 로그가 파일에서 여러 번 반복됩니다. 모든 단락에는[MACSTATUSIND] ACTIND_ParseMACSTATUS:
답변1
awk 'BEGIN { print " col1 | col2 | col3" }
/^\[730480.910233\] / {SA = $12 $13 $14 $15 $16 $17}
/^\[730480.910247\] / { print SA $2 $3 " | " $4 $5 $6 $7 $8 $9 " | " $10 $11}
' input.txt > new.txt