tar
find 명령을 사용하여 파일 내의 특정 파일을 추출 할 수 있는지 알고 싶습니다 .
예:
일반적인 상황: "file1"이라는 파일 이름을 찾아 추출합니다.
tar xvf tarfilename file1
내 상황:
find . -iname "*tar*" -exec tar -xvf *file1* {} \;
그것이 가능할지 모르겠습니다.
이유:
tar
내 내부 프로덕션 시스템에서는 명령 실행을 허용하지 않습니다 .
가장 좋은 방법은 tar를 직접 실행하는 것이라는 것을 알고 있지만 결국 희망은 무너졌습니다.
미리 감사드립니다.
답변1
셸에서 직접 실행할 수 없지만 tar
다른 명령에서 실행할 수 있는 경우 다음을 수행할 수 있습니다.
env tar xvf file.tar file1
find . -prune -exec tar xvf file.tar file1 ';'
perl -e 'exec @ARGV' tar xvf file.tar file1
그러나 이는 여전히 유효하므로 tar
적어도 귀하의 출마를 금지하는 법률의 정신을 여전히 위반하고 있을 가능성이 높습니다 tar
.
이 외에도 (아카이브 처리에 사용되는 POSIX 명령)을 tar
실행할 수도 있습니다 .pax
pax -r < file.tar file1