programing

줄 번호로 분할하는 방법

nasanasas 2020. 8. 30. 08:43
반응형

줄 번호로 분할하는 방법


특정 줄 번호에서 400k 줄 길이의 로그 파일을 나누고 싶습니다.

이 질문에 대해 임의의 숫자를 300k로 만들어 보겠습니다.

이 작업을 수행 할 수있는 Linux 명령이 있습니까 ( 스크립트 내에서 )?

split파일을 크기 나 줄 번호로 동일한 부분으로 나눌 수 있다는 것을 알고 있지만 그게 내가 원하는 것이 아닙니다. 한 파일의 처음 300k와 두 번째 파일의 마지막 100k를 원합니다.

어떤 도움을 주시면 감사하겠습니다. 감사!

다시 생각하면 이것은 수퍼 유저 또는 서버 오류 사이트에 더 적합 할 것입니다.


file_name=test.log

# set first K lines:
K=1000

# line count (N): 
N=$(wc -l < $file_name)

# length of the bottom file:
L=$(( $N - $K ))

# create the top of file: 
head -n $K $file_name > top_$file_name

# create bottom of file: 
tail -n $L $file_name > bottom_$file_name

또한 다시 생각하면 첫 번째 분할이 두 번째 분할보다 크기 때문에 분할이 작동합니다. Split은 입력의 균형을 마지막 분할에 넣습니다.

split -l 300000 file_name

400k 라인의 입력에 대해 xaa300k 라인과 xab100k 라인으로 출력 됩니다 .

참고 URL : https://stackoverflow.com/questions/3066948/how-to-file-split-at-a-line-number

반응형