두개의 파일로 부터 filed 를 합치는 명령어에 관하여...
글쓴이: pshun / 작성시간: 화, 2005/07/12 - 5:43오후
자주 이곳에 scrip 관련 질문을 올려 도움을 받는 초보자입니다.
예를 들어 두개의 파일이 있다고 치고 하나의 파일의 첫번째 필드와 두번째 파일의 두번째 필드를 합쳐서 새로운 파일의 첫번째, 두번째 필드 이렇게 합치고자 합니다.
awk문을 이용하면 되지 않을까 하여 시도해보았으나 잘안되는것 같습니다. 첫번째 필드를 배열로 저장할수만 있어도 가능할것 같은데 방법이 없을까요?
awk '{value[x++]=$1}' a1.txt ; awk '{value2[x++]=$2};END{for(i=0;i<NR;i++) print i, value[i],value2[i]}' b1.txt > c1.txt
참고로 a1.txt 파일과 b1.txt파일의 레코드 수는 같습니다..
Forums:
paste 명령
스크립트 하나 짜서 아래와 같이 하면 될거 같은데...
awk '{print $1}' a1.txt > a.tmp
awk '{print $2}' b1.txt > b.tmp
paste a.tmp b.tmp > c1.txt
Re: paste 명령
한단계 줄이면 ^^;;
bash라면 더 줄일수도...
bash라면 아래 코드가 작동할 겁니다.
paste <(awk '{print $1}' a1.txt) <(awk '{print $2}' b1.txt) > c1.txt
근데, 먼저 paste를 하고 다음에 'awk'나 'cut'으로 원하는 column들을 뽑아내는건 어떨까요?
댓글 달기