2009. 9. 10. 12:10

9. 여러 파일 하나의 txt 파일로 합치기 스크립트

#!/bin/bash
DIR="/user1/si/z_bjh/icms_data/"

A=`ls -l $DIR | awk '{print $9}'`

for i in `echo $A`
do
cat $DIR$i >> /user1/si/z_bjh/aa.txt
done

#echo "===== DONE !! ======="


먼저 하나로 합칠 여러개의 파일들을 하나의 디렉토리에 넣는다

/user1/si/z_bjh/icms_data  에 모두 넣고

변수 A 에   ls -l $DIR | awk '{print $9}'  명령을 통해서 파일명만 추출해서 넣음

 for 반복문으로
변수 i 에다가 변수A 가 계속적으로 반복되면서 하나씩 차례로 파일명을 넣을 것이고

cat $DIR$i >> /user1/si/z_bjh/aa.txt

aa.txt 라는 파일에 리다이렉트로  모든 파일의 내용을 계속적으로 넣는다.


------------

가장 쉬운 방법은 a.txt 와 b.txt 라는 두 개의 파일 있을 때

다음과 같이 리다이렉트를 사용해서 두개를 하나의 파일로 합치면 됩니다.

cat a.txt >> imsy.txt
cat b.txt >> imsy.txt

그런 다음에 중복된 것을 제거 하기 위해서 sort -u imsy.txt > imsy2.txt 라고 하면

마지막에 imsy2.txt 라는 파일 최종적으로 나오게 된다 ^^

참고로 필드별로 sort 하는 방법은 이전 글에 적어놓았음 --> [내가쓰는리눅스 강좌] - 25. sort 명령어