PR

zipに「__MACOSX」が含まれている場合の対処方法

Linux

Macでファイルを圧縮すると、意図せず「__MACOSX」というフォルダがZIPファイルに含まれてしまうことがあります。このフォルダは、ZIPファイルを展開した際に不必要なものであり、特にプログラムでファイルを扱う場合には邪魔になることがあります。

例えば、特定のファイルを検索する際に「__MACOSX」フォルダ内の同名のファイルが誤って検出されることがあり、その結果プログラムが正しく動作しない原因になることがあります。こうした問題を防ぐために、「__MACOSX」を削除する方法について解説します。

まずシェルでzipを解凍し

# zip解凍
unzip /tmp/test_data.zip -d /tmp/test_data

そのまま検索すると意図せず2件検出されてしまう

find /tmp/test_data -type f -name "text1.txt"
/tmp/test_data/text1.txt
/tmp/test_data/__MACOSX/._text1.txt

「__MACOSX」フォルダを削除することで

find /tmp/test_data -name "__MACOSX" -exec rm -rf {} +

重複せずに検索することができます

find /tmp/test_data -type f -name "text1.txt"
/tmp/test_data/text1.txt

まとめ

この記事では、Macで作成されたZIPファイルに含まれる「__MACOSX」フォルダが、プログラムの処理を妨げる可能性がある点と、その対処方法について説明しました。「__MACOSX」フォルダは、特定のファイルを検索する際に不要な結果を引き起こすことがあります。シェルコマンドを使って「__MACOSX」フォルダを削除することで、検索結果が正確になり、プログラムが期待通りに動作するようになります。エンドユーザにとっては、こうした対応を行うことで意識せずにスムーズな処理が行われるメリットがあるので参考になれば嬉しいです。

タイトルとURLをコピーしました