파일에 대한 바이트 오프셋이 있습니다.
이 바이트의 줄 번호를 제공하는 도구가 있습니까?
- 다음과 같이 0으로 시작하는 바이트 수 : 첫 번째 바이트는 0이 아니라 1입니다.
- 1로 시작하는 줄 번호
- 파일에는 일반 텍스트, "이진"얼룩, 멀티 바이트 문자 등이 포함될 수 있습니다. 그러나 관심있는 섹션 : 파일 끝, ASCII 만 있습니다.
예를 들어, 파일 :
001
002
003 <<-- first zero on this line is byte 8
004
바이트 오프셋 8
이 있으면 줄을 줄 것 3
입니다.
줄 번호를 찾기 위해 다음과 같은 것을 사용할 수 있다고 생각합니다.
ㅏ. tail -c+(offset + 1) file | wc -l
여기 +1
로 tail
(1)에서 카운트
나. wc -l file
씨. 그런 tail -n+num
곳 num
입니다a - b + 1
그러나 ... 나를 num
직접 줄 수있는 상당히 일반적인 도구가 있습니까?
편집, 오류 : 또는 더 명백한 :
head -c+offset file | wc -l
0x0a
바이트로 구분 된 데이터 입니다.
:echo byte2line(offset+1)
..
vim -b
하고 vim
+ set binary
+ 열려있는 파일이 손상되었다. (아, 갑자기 어떤 플러그인이 엉망인지 기억합니다). 그러나 어쨌든, 이것을 일괄 적으로 사용하고 다양한 스크립트와 함께 Vim을 일찍 포기했습니다. 그러나 어쨌든 +1.
0xa
어디에나 있을 수 있습니다. 이진 파일의 줄 개념은 의미가 없습니다.