여러 파일을 몇 파일씩 concatnate 하기

익명 사용자의 이미지

안녕하세요 생명과학을 연구하는 사람입니다.

105개의 텍스트 파일이 있다고 하겠습니다.
이 것을 10 개 씩 하나의 파일로 concat하려고 합니다. (105개의 파일을 10개씩 묶었으므로 반드시 10으로 안 나눠떨어져도 무리없이 돌아갈 스크립트가 필요합니다.)

제가 생각할 때, 아래 비슷한 형식으로 만들면 될것 같은데, "new_file.txt"의 이름을 매번 바꿔줘야 할 텐데 방법이 안떠오르네요. 검색어도 마땅치 않아 이 곳에 도움을 요청드립니다. 감사합니다.

ls *.txt | xargs -n 10 -I {} cat {} > new_file.txt # target 이름을 매번 어떻게 바꿀 수 있을까요?

ymir의 이미지

$ ls -1 *.txt | split -l 10 - outf
$ for file in outf*; do cat $file | xargs cat > new_$file.txt; done

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

익명 사용자의 이미지

감사합니다. split, 하나 배워갑니다.