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
。