필드를 기반으로 파일을 여러 파일로 분할

필드를 기반으로 파일을 여러 파일로 분할

파일을 여러 파일로 분할하려면 어떻게 해야 합니까 $2?

예를 들어,

123,hello,world
124,hello,planet
125,universe,hello
126,hello,universe

원하는 출력,

hello.txt >

123,hello,world
124,hello,planet
126,hello,universe

universe.txt >

125,universe,hello

답변1

GNU awk 사용:

awk '{name=$2 ".txt"; print >>name; close(name)}' FS=',' file

stackoverflow.com에도 매우 비슷한 질문이 있습니다.파일을 줄별로 나누고 첫 번째 문자열을 출력 파일의 제목으로 유지합니다.

관련 정보