줄 바꿈 기호로 구분하여 파일을 여러 개의 작은 파일로 분할


13

줄 바꿈 기호로 파일을 나누는 유틸리티가 있습니까? 예를 들어 파일에 다음 줄이 포함 된 경우

aa
bbb
cccc

3 파일로 나누려면 원하는 출력은 다음과 같습니다.

aa, bbb그리고 cccc(3 개의 다른 파일로)

이미 split명령을 확인했는데 파일 크기로만 파일을 자르고 원하는 것은 아닙니다.

유틸리티를 직접 작성하지 않은 경우 사용할 표준 도구가 있습니까?


파일 이름은 무엇입니까?
Rahul Patil

각 줄의 파일을 만들고 싶습니까? 맞습니까?
Rahul Patil

답변:


14

내가 빠진 것이 아니라면 스위치 split를 사용하면 한 줄씩 나눕니다 -l.

   -l, --lines=NUMBER
          put NUMBER lines per output file

그래서

split -l 1 inputfile

당신이 원하는 것을해야합니다.


4
awk '{print > $0".txt" }'  inputfile

입력 줄에 고유 한 줄 당 하나의 파일을 생성합니다 ( .txt확장자 포함). 그러나 동시에 열린 파일의 한계에 도달하면 일부 awk구현이 실패합니다.

또는

awk '{f = "output_file." NR; print $0 > f; close(f)}' inputfile

출력 파일에 번호를 매기려면


출력 파일을 작성한 후 close ()하고 싶을 수도 있습니다. 그렇지 않으면 대부분의 awk 구현에서 열린 파일의 최대 수 제한에 도달하게됩니다.
Stéphane Chazelas

몰라요. 저를 위해 그렇게 할 수 있습니까? 덕분에 ..
라훌 파틸

3
A=0
while IFS= read -r LINE ; do
  printf '%s\n' "$LINE" > newfile$A
  (( A++ ))
done < "$INPUTFILE"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.