[shell] 폴더 내 텍스트 파일 중복 제거

중복 제거

간단히 폴더내 다수 텍스트 파일의 중복을 제거한 – 유일한 텍스트 라인 들 만 갖도록 하는 스크립트

$ for FILE in *.log; do sort $FILE | uniq >> $FILE.uniq; done

폴더내 *.log 파일을 $FILE 로 do 하위로전달 하게됨

sort 해주어야 중복 (uniq) 명령어로 검출 가능

uniq 옵션이 없을경우 유일한 값만 출력 >> 스트림으로 새이름({name}.uniq)으로 출력
(uniq 옵션으로도 출력가능)

중복만 남기기

$ for FILE in *.log; do sort $FILE | uniq -d >> $FILE.duplicate; done

폴더내 *.log 파일을 $FILE 로 do 하위로전달 하게됨

sort 해주어야 중복 (uniq) 명령어로 검출 가능

uniq 옵션 -d 중복 값만 출력 >> 스트림으로 새이름({name}.duplicate)로 출력

검증

$ wc filename.ext -l

각 파일의 라인수를 비교

원본 / uniq / duplicate
파일의 라인수를 비교 해
원본 = uniq / duplicate


댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다