파일의 한 줄당 바이트 수 확인 [닫기]

파일의 한 줄당 바이트 수 확인 [닫기]

파일의 각 줄의 바이트 수를 확인하고 싶습니다.

바이트 수가 예상한 숫자가 아닌 경우 레코드와 해당 줄 번호가 새 파일에 저장됩니다.

답변1

노력하다:

expected=72
<a-file LC_ALL=C grep -nxvE ".{$expected}" >a-new-file

또는:

<a-file LC_ALL=C awk -v expected=72 '
  length != expected {print FNR, $0}' >a-new-file

length줄 구분 기호 없이 길이를 반환합니다. 일부 grep구현 awk에서는 NUL 바이트 또는 매우 긴 줄이 포함된 입력을 차단합니다.

GNU는 awk다음을 사용하여 구분 기호를 포함한 레코드 길이를 얻을 수는 없지만 얻을 수 있습니다.

<a-file LC_ALL=C gawk -v expected=73 '
  length($0 RT) != expected {print FNR, $0}' >a-new-file

또는 다음을 사용할 수 있습니다 perl.

<a-file perl -nse '
  print "$. $_" unless length($_) == $expected' -- -expected=73 >a-new-file

-l줄 구분 기호를 고려하지 않으려면 이 옵션을 추가하세요. perl바이트는 로케일에 관계없이 기본적으로 사용되므로 필요하지 않습니다 LC_ALL=C.

관련 정보