줄바꿈으로 파일을 분할할 수 있는 유틸리티가 있나요? 예를 들어 파일에 다음 줄이 포함되어 있는 경우
aa
bbb
cccc
3개의 파일로 분할하려는 경우 원하는 출력은 다음과 같습니다.
aa
, bbb
및 cccc
(3개의 다른 파일)
명령 을 확인했는데 split
원하는 크기가 아닌 파일 크기로만 파일을 자릅니다.
유틸리티를 직접 작성하지 않는 경우 사용할 수 있는 표준 도구가 있습니까?
답변1
제가 놓친 것이 없다면 split
스위치를 사용하면 행별로 분할됩니다 -l
.
-l, --lines=NUMBER
put NUMBER lines per output file
그래서
split -l 1 inputfile
당신이 원하는 것을해야합니다.
답변2
awk '{print > $0".txt" }' inputfile
입력 파일의 각 고유 라인에 대해 파일이 생성되며, .txt
해당 라인의 내용에 따라 이름이 확장명으로 지정됩니다. 그러나 동시에 열려 있는 파일의 한계에 도달하면 일부 awk
구현이 실패할 수 있다는 점에 유의하세요.
또는
awk '{f = "output_file." NR; print $0 > f; close(f)}' inputfile
출력 파일에 번호를 매깁니다.
답변3
A=0
while IFS= read -r LINE ; do
printf '%s\n' "$LINE" > newfile$A
(( A++ ))
done < "$INPUTFILE"