tar --from-files、ファイル名の先頭のハイフンを解釈しません。

tar --from-files、ファイル名の先頭のハイフンを解釈しません。

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

tarGNU 1.29以降にアップグレードすることがオプションの場合、この--verbatim-files-fromスイッチはユーザーが探している機能を提供します。引用する手動:

--verbatim-files-from
ダッシュで始まっても、ファイルリストから取得した各行をファイル名として扱います。ファイルのリストは--files-from()オプションで提供されます-T。デフォルトの動作は、ファイルリストに指定された名前をコマンドラインに入力したかのように処理することです。つまり、ダッシュで始まるすべての名前はオプションとして扱われますtar。この--verbatim-files-fromオプションはこの動作を無効にします。

残念ながら、--verbatim-files-fromGNU 1.26では使用できませんtar

おすすめ記事