web-dev-qa-db-ja.com

名前が長すぎるファイルを抽出する

一部のファイル名が長すぎてubuntuで作成できないことを除いて、ダウンロードしたrarアーカイブがあります。すべてのファイルを抽出するにはどうすればよいですか?

Ubuntuのデフォルトのアーカイブマネージャーは、ほとんどのファイルを調べて失敗し、フォルダー全体を削除します。アークはそれらを抽出し、長すぎる名前で黙って失敗します。

6
EricR

通常のファイルシステムの255文字の制限は、パス全体ではなく、一意のファイル名またはディレクトリ名に適用されます。したがって、それを/ aに抽出しても役に立ちません。問題は、RARファイル形式では、名前が255文字を超える可能性のあるファイルをアーカイブに含めることができることです。

問題のあるファイルをstdoutに出力し、ファイルにリダイレクトすることで、この問題を回避できます。

unrar -inul p archive.rar overly-long-file-name> shorter-name

これにより、archive.rarから過度に長いファイル名がshort-nameという名前のファイルに抽出されます。

6
xetez

あなたはそれが機能しなければならないパスを短くしようとすることができます...シェルで、すなわち:

mkdir /a; cd /a
unrar /path/to/file/with/long/names .

(ubuntuでSudo su -するようにしてください。そうしないと、ルートディレクトリに書き込むための十分な権限がありません。)

/long/directory/name/some/path/where/fish/live/のようなディレクトリにファイルを抽出しようとする代わりに、/aのような短いディレクトリにファイルを抽出できるはずです。

そこから...必要に応じてファイルを操作したり、ファイルを配置する場所に配置したりできるはずです。一時ディレクトリを削除して、/をクリーンアップすることを忘れないでください。

3
TheCompWiz