find로 찾은 파일 tar로 묶기

폴더 내에서 특정 이름/확장자를 갖는 파일을 찾아서, tar로 묶고 싶습니다.
이를 위해서 find와 xargs를 알아야 합니다.

특정 이름의 파일을 찾습니다.
$ find . -name 'file1'

두 가지 이상인 경우에는 -o name을 붙여줍니다.
$ find . -name 'file1' -o name 'file2'

세 개를 하고 싶으면 -o name을 또 붙여줍니다.
$ find . -name 'file1' -o name 'file2' -o name 'file3'

확장자가 있다면, '*.txt'와 같이 해줘도 됩니다.

예를 들어서, 저는 OUTCAR, INCAR, POSAR, CONTCAR, KPOINTS, POTCAR를 tar로 묶어서 backup.tar를 만들었습니다.
$ find . -name 'OUTCAR' -o -name 'INCAR' -o -name 'POSCAR' -o -name 'CONTCAR' -o -name 'KPOINTS' -o -name 'POTCAR' | xargs tar cvf backup.tar

touch를 하고 싶으면 다음 문서를 참고하시기 바랍니다. [#]

참고한 문서들
[1] find 명령으로 찾은 파일을 tar 로 묶으려면? [#]
[2] UNIX find 명령 [#]

덧글

  • wolga 2011/09/08 16:46 #

    A.tar의 특정 파일(B)만 풀어줄 때는 tar -xvf A.tar B라고 하면 됩니다.
※ 로그인 사용자만 덧글을 남길 수 있습니다.