11월 18일 덕초현에서…. II 표준를 무시할 수 있는 Sony는 멋진 회사였다.

파일 sort 뒤 concatenation


미션 : a1.txt, a2.txt, a3.txt … a100.txt 가 있다고 하자. 이 파일을 숫자 순으로 sorting 해서 하나의 파일로 만들려고 한다.
근데 man sort 하면 -n 옵셥이 숫자로 소팅해준다고 하지만, 파일 이름이 숫자로만 되었을 때만 적용될뿐, 문자와 숫자가 섞인 파일에서는 동작하지 않는다.

man sort에서 +POS1 에 대한 설명은 영어가 짧아서인지 알아 먹기 힘들었는데 회사의 gogma가 찾아주었다.

ls -1 *.txt | sort -n +0.1 | cat > all.txt
ls -1 *.txt  # 확장자가 txt인 파일을 한줄에 하나씩 표시
sort -n +0.1 # 파이프로 넘어온 스트링을 숫자순으로 소팅한다. 
             # +0.1 0번째 컬럼(컬럼은 white space로 구분된다.) 에서 
             # 0 index로 offset이 1인 위치서 부터 숫자 소팅을 하게 된다.
cat > all.txt # 파이프로 넘어온 스트링을 concat해서 all.txt 로 redirection 해준다.

  • 이 댓글 RSS를 통해 새로 올라오는 댓글을 구독할수 있습니다.
    트랙백으로 답글을 보내시려면 아래의 트랙백주소를 사용해 주세요.
    http://hanury.net/wp/archives/203/trackback