tarは名前に角かっこを含むファイルを抽出しません。

tarは名前に角かっこを含むファイルを抽出しません。

Linuxでは、以下tarを使用してアーカイブからファイルを抽出します。

tar -xC / -f /tarFile.tar someFolder/[HD] video1.mp4

これは常にうまく機能しますが、ファイル名に角かっこが含まれている場合は機能しません。タールレスポンスは次のとおりです

someFolder/[HD] video1.mp4: not found in archive

角かっこを削除すると、ファイルがうまく抽出されます。

すべての文字をエスケープし、\周囲のファイル名を'。不運。

どのようなヒントがありますか?ありがとう

ベストアンサー1

提供する最初のコマンドは、2つまたは3つのファイルを抽出しようとします。

someFolder/H
someFolder/D
video1.mp4

ファイル名を一重引用符(')で囲むと、tarプログラムはそれを「または」を[HD]意味するワイルドカードとして見て処理します。したがって、2つのファイルを抽出しようとします。HD

someFolder/H video1.mp4
someFolder/D video1.mp4

参照ファイル名そしてこの--no-wildcardsフラグを使用すると、次の拡張試行が抑制されます。

tar -xC / -f /tarFile.tar 'someFolder/[HD] video1.mp4' --no-wildcards

おすすめ記事