>

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

이 질문에서는 이것을 임의의 숫자 300k로 만드십시오.

이 작업을 수행 할 수있는 리눅스 명령이 있습니까 (스크립트 내)

나는 split 를 안다  파일을 크기 또는 줄 번호로 동일한 부분으로 나눌 수 있지만 원하는 것은 아닙니다. 한 파일에서 처음 300k를, 두 번째 파일에서 마지막 100k를 원합니다.

도움이 될 것입니다. 감사합니다!

두 번째 생각에 이것은 수퍼 유저 또는 서버 오류 사이트에 더 적합합니다.


  • 답변 # 1

    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 -l 300000 file_name

    xaa 를 출력합니다  300k 라인 및 xab  400k 라인 입력, 100k 라인 입력

  • 이전 amazon web services - 더 빠른 s3 버킷 복제
  • 다음 ruby - 원격 사이트에서 사용 가능한 모든 gem 버전을 어떻게 나열합니까?