[완료]파일 합치기 (각 파일에서 3번째 줄부터 끝까지)
글쓴이: yangsee / 작성시간: 금, 2009/11/13 - 5:55오후
동일 포맷의 파일을 합치려고 합니다.
파일설명: 헤더 2줄, 나머지는 레코드 라인
파일을 합칠 때 헤더 2줄만 넣고 각 파일의 레코드를 합치는 일을 해야 합니다.
파일마다 라인수가 틀립니다.
간단한 방법이 있으면 부탁드립니다. (cat, sed 등)
파일1:
version
header
1,1,1
2,2,2
파일2:
version
header
1,1,1
2,2,2
합친파일:
version
header
1,1,1
2,2,2
1,1,1
2,2,2
감사합니다.
Forums:
더 멋있는 방법이 있겠지만 awk을 사용한다면
merge.sh 라는 파일에 아래 내용을 넣으시고,
아래와 같이 실행하시면, result 파일에 합친 결과가 들어갈 겁니다.
awk 대신에 tail도
awk 대신에 tail도 작동하네요.
tail -n +3 $2 > $2.tmp
감사합니다. 그런데
알려주신 방법으로는 파일명이 파일에 포함되어 생성됩니다.
이거 없앨 수 없을까요?
==> 파일명 <==
tail -q -n +3 *.log
tail -q -n +3 *.log
2개파일 이상일 경우
답변 감사합니다.
이 경우는 2개의 파일의 경우에는 가능합니다.
n개의 파일을 처리할 때는 안되네요.
perl로
a.log
b.log
c.log
이라면
perl one-liner
결과
음..
헤더가 모두 동일하다면.. 그냥 빼버리고 나머지만 cat 로 붙여버려도...
$ cat f1
version
header
1,1,1
2,2,2
$ cat f2
version
header
3,3,3
4,4,4
$ cat f3
version
header
5,5,5
6,6,6
$ echo -e "header\nversion" > out && cat f? | egrep -v 'header|version' >> out
$ cat out
header
version
1,1,1
2,2,2
3,3,3
4,4,4
5,5,5
6,6,6
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
답변 주신분들께 감사드립니다.
^^
^^
참고 잘했습니다
댓글 달기