Tar
tar –from-files,不解釋文件名開頭的連字元
我們在 CentOS 7.9 上使用 tar 1.26,我正在嘗試解壓縮其中包含以連字元開頭的文件的存檔。
我告訴 tar
--files-from
我要提取哪些文件,因為我不想提取所有內容。為此,我有
filelist.txt
以下內容的文件
-myfile.txt
呼叫 tar like
tar -xmf mytar.tar --no-wildcards --files-from filelist.txt
會導致 tar 出錯並出現以下錯誤tar: invalid option -- 'y'
這是因為 tar 將起始連字元解釋為 tar 的參數(我假設)
我已經添加
--no-wildcards
以禁用模式匹配。是否有可能禁用此行為或更好地告訴 tar 從
filelist.txt
字面上獲取每個條目而不嘗試匹配/解釋任何內容?
如果可以選擇升級到 GNU 1.29 或更高版本
tar
,則該--verbatim-files-from
開關提供了您似乎正在尋找的功能。引用手冊:
--verbatim-files-from
將從文件列表中獲得的每一行視為文件名,即使它以破折號開頭。文件列表隨
--files-from
(-T
) 選項提供。預設行為是處理文件列表中提供的名稱,就好像它們是在命令行中鍵入的一樣,即任何以破折號開頭的名稱都被視為tar
選項。該--verbatim-files-from
選項禁用此行為。不幸的是,在 GNU 1.26
--verbatim-files-from
中不可用。tar