다른 파일을 알파벳순으로 정렬

다른 파일을 알파벳순으로 정렬

알파벳순으로 정렬된 파일이 있습니다. 쉽습니다: cat {some file} sort > {newfile}

그러나 파일의 세 번째 열을 기준으로 알파벳순으로 정렬해야 하며 각 문자는 자체 파일에 저장됩니다.

따라서: a.txt, b.txt, c.txt 등...

이것을 스크립트로 작성할 수 있는 방법이 있나요?

답변1

sort file | awk '{print > substr($0, 3, 1) ".txt"}'

이름이 줄의 세 번째 문자이고 그 뒤에 가 오는 파일에 각 줄을 인쇄합니다 .txt.

답변2

@StephaneChazelas 게시물 확장

sort -k1.3 | awk '{print > substr($0, 3, 1) ".txt"}'

행은 실제로 오른쪽에서 세 번째 문자부터 정렬됩니다. 즉, sort이전 작업을 수행할 때 각 줄의 처음 두 문자를 무시합니다 awk.

관련 정보