줄의 처음 2바이트 삭제

줄의 처음 2바이트 삭제

각 줄에 2바이트 바이너리 표시 값이 있는 파일이 있는데, 이를 삭제해야 합니다.

시도해 보았 sed으나 아무 것도 작동하지 않습니다( awkmode cut에서는 작동하지만 vi).

sed 's/^.\{,2\}//' file.dat
awk '{print substr($0,3)}' file
cut -c3-  file

예:

<84>^cColumn1,Column2
x^CColumn1,Column2
v^CColumn1,Column2
<81>^CColumn1,Column2

원하는 출력:

Column1,Column2
Column1,Column2
Column1,Column2
Column1,Column2

답변1

사용 cut:

cut -b 3- infile

이렇게 하면 각 줄의 처음 2바이트가 잘려지거나 세 번째 바이트 부터 줄 끝까지 인쇄됩니다 .

답변2

^C각 줄에 표시하는 문자가 실제 CtrlCETX "텍스트 끝" 문자(16진수 0x03) 라고 가정하면 다음을 사용할 수 있습니다.

sed 's/^.*\o3//' file

간단한 문자열인 경우 다음을 ^C사용하십시오.

sed 's/^.*^C//' file

관련 정보