CentOS 7.9에서 tar 1.26을 사용하고 있으며 하이픈으로 시작하는 파일이 포함된 아카이브의 압축을 풀려고 합니다.
--files-from
모든 파일을 추출하고 싶지 않기 때문에 어떤 파일을 추출할지 tar에 알려줍니다 .
filelist.txt
이를 위해 다음 내용이 포함된 파일이 있습니다.
-myfile.txt
tar를 호출하면 tar -xmf mytar.tar --no-wildcards --files-from filelist.txt
다음 오류와 함께 tar 오류가 발생합니다.
tar: invalid option -- 'y'
이는 tar가 시작 하이픈을 내가 --no-wildcards
패턴 일치를 비활성화하기 위해 추가한 tar에 대한 인수로 해석하기 때문입니다 .
이 동작을 비활성화하는 것이 가능합니까, 아니면 tar에게 filelist.txt
아무것도 일치/해석하지 않고 문자 그대로 각 항목을 가져오도록 지시하는 것이 더 낫습니까?
답변1
tar
GNU 1.29 이상으로 업그레이드하는 것이 옵션인 경우 이 --verbatim-files-from
스위치는 사용자가 찾고 있는 기능을 제공합니다. 인용하다수동:
--verbatim-files-from
대시로 시작하더라도 파일 목록에서 얻은 각 줄을 파일 이름으로 처리합니다. 파일 목록은--files-from
( ) 옵션을 통해 제공됩니다-T
. 기본 동작은 파일 목록에 제공된 이름을 명령줄에 입력한 것처럼 처리하는 것입니다. 즉, 대시로 시작하는 모든 이름은 옵션으로 처리됩니다tar
. 이--verbatim-files-from
옵션은 이 동작을 비활성화합니다.
불행하게도 --verbatim-files-from
GNU 1.26에서는 사용할 수 없습니다 tar
.