파일 내 문자열 구분해서 파일 나누고 싶습니다.

windyguy81의 이미지

안녕하세요

파일 내 공통된 문자열을 기준으로 해서 하나의 파일을 여러개로 나누고 싶습니다.
파일명은 공통된 문자열로 하고 싶은데 방법을 모르겠네요 ㅠ

예) original.txt
1 사과
1 배
1 포도
2 호두
2 땅콩
3 잣
3 물고기
3 호랑이
3 사자
.
.
이 파일을 1.txt
(내용)
1 사과
1 배
1 포도
이런식으로, 2.txt, 3.txt로 나누고 싶습니다.

리눅스 명령어나 스크립트를 이용하고 싶은데 혹시 어떤 방법이 있을까요?
알려주시면 감사하겠습니다.

raymundo의 이미지

#!/bin/sh
# split.sh
 
while read LINE
do
    # 각 라인에서 첫번째 공백부터 라인의 끝까지를 지우고 남은 부분을 $STR로 사용
    STR=`echo $LINE | sed "s/ .*//"`
    # 그 라인을 $STR.txt 파일에 저장
    echo $LINE >> $STR.txt
done

$ chmod +x split.sh
$ split.sh < original.txt
$ ls
... 1.txt 2.txt 3.txt ...
$ cat 1.txt
1 사과
1 배
1 포도

좋은 하루 되세요!