[linux] 파일 목록에서 입력을받는 Tar 아카이브

tar로 아카이브하려는 파일 목록이 포함 된 파일이 있습니다. 전화합시다mylist.txt

그것은 포함합니다 :

file1.txt
file2.txt
...
file10.txt

mylist.txt입력으로 사용 되는 TAR 명령을 실행할 수있는 방법이 있습니까? 같은 것

tar -cvf allfiles.tar -[someoption?] mylist.txt

따라서이 명령을 실행하는 것과 비슷합니다.

tar -cvf allfiles.tar file1.txt file2.txt file10.txt



답변

예:

tar -cvf allfiles.tar -T mylist.txt


답변

GNU tar (Linux이므로)를 선택하면 -Tor --files-from옵션이 원하는 것입니다.


답변

유용한 파일 이름을 파이프로 연결할 수도 있습니다.

find /path/to/files -name \*.txt | tar -cvf allfiles.tar -T -


답변

일부 tar 버전 (예 : HP-UX의 기본 버전 (11.11 및 11.31 테스트))에는 파일 목록을 지정하는 명령 줄 옵션이 포함되어 있지 않으므로 적절한 해결 방법은 다음과 같습니다.

tar cvf allfiles.tar $(cat mylist.txt)


답변

Solaris에서는 -I 옵션을 사용하여 일반적으로 파일에서 명령 행에 표시 할 파일 이름을 읽을 수 있습니다. 명령 줄과 달리 수십만 개의 파일로 tar 아카이브를 만들 수 있습니다 (그냥 그렇게했습니다).

따라서 예제는

tar -cvf allfiles.tar -I mylist.txt


답변

AIX의 경우 다음과 같이 작동했습니다.

tar -L List.txt -cvf BKP.tar


답변