여러 다른 하위 디렉터리에 있는 tar 특정 파일

여러 다른 하위 디렉터리에 있는 tar 특정 파일

다음과 같은 폴더 구조가 있습니다

A
|-B
| |-C
|   |-1.log
|   |-2.log
|-10.log
|-D
  |-E
  |-F
    |-php.log
    |-H
      |-php.log

H 하위 디렉터리에 있는 모든 로그 파일과 PHP 파일을 수집하여 tar.gz 파일로 만들고 싶습니다.

시도해 보았지만 디렉토리에서 재귀적으로 검색 tar -czf temp.tar.gz /A/**/*.log /A/D/F/H/php.log 하지 않는 것 같습니다 .A

저는 Amazon Linux를 사용하고 있습니다.

답변1

와일드카드 일치/셸 와일드카드에 의존하는 대신 다음 명령을 사용하여 find필요한 파일을 찾아서 나열하고 목록을 tar아카이브로 보냅니다.

find /A/ -type f -print0 -name \*.log | tar -cvf /path/to/file.tar --null -T -

답변2

다음 명령은 "."로 시작하는 모든 디렉터리 구조의 모든 .log 파일을 반복적으로 압축합니다. 상위 디렉터리, 특정 파일을 원할 경우 grep을 사용하여 필터링하세요.

tar -cvf file.tar `find . -type f -name *.log`

관련 정보