web-dev-qa-db-ja.com

Macで、大文字と小文字を区別して、同じ名前のNTFSパーティション上のすべてのファイルを見つけるにはどうすればよいですか?

これが取引です。NTFSとしてフォーマットされた外付けドライブに大量のファイルがあります。これらのファイルをすべてMacBookProにコピーしたいと思います。

NTFSは、正常なファイルシステムと同様に、大文字と小文字が区別されます。 HFSはそうではありません。

何万ものファイルとディレクトリの混乱のどこかに、HFSの目には1つ以上の「重複」があります。これらは、データのディレクトリ全体をMacにコピーすることを妨げています。

(MacOSXは問題を説明する一般的なエラーをスローしますが、正確なファイルはスローしません。スキップするオプションもありません)

これを解決するための最良のアプローチは何ですか?大文字と小文字を区別しない同じ名前のファイルとディレクトリを見つけることができるツールを知っている人はいますか?

-編集-

それで、私はcp -iを実行し、目を覚まして複製に貼り付いているのを確認するために一晩実行したままにしましたが、目を覚ますと終了しました。ただし、結果のディレクトリには13,906個のアイテムがあり、元のディレクトリには13,914個のアイテムがあるため、cpは大文字と小文字を区別しない同じファイルを認識しないか、-iでも無視するようです。

3
SCdF

これがthe最善のアプローチかどうかはわかりませんが、次のコマンドは必要な処理を実行し、大文字と小文字を区別しない重複した名前が存在するすべてのファイルとディレクトリエントリを一覧表示します。

find /path/to/check -type f -o -type d | tr A-Z a-z | sort | uniq -d

/ path/to/checkですべてのファイルとディレクトリを検索し、出力を小文字にし、それらのエントリを並べ替え(uniqは隣接する行のみを比較するため必須)、重複する行、つまり重複するファイルまたはディレクトリのエントリのみを表示するようにフィルタリングします。

例:OS XのBootcampボリュームで重複がないか確認したい場合は、Terminal.appを開いて実行します

find /Volumes/BOOTCAMP/ -type f -o -type d | tr A-Z a-z | sort | uniq -d
5
Lukas Loesche

私はそれを使用していませんが、 iPartition は、HFS +(大文字と小文字を区別しない)とHFSX(大文字と小文字を区別する)の間で非破壊的に変換できると主張しています。

2
Gordon Davisson

ドライブ全体をフォーマットせずに[大文字と小文字を区別するHFSX]をオンにできますか

Mac OS Xで大文字と小文字を区別するディスクイメージを作成できます。これは、通常のハードドライブボリュームとしてマウントできます。

# cf. http://codesnippets.joyent.com/posts/show/8617
IMAGE="${HOME}/Desktop/Case Sensitive Test.dmg"
VOLNAME="Case Sensitive Test"

hdiutil create "${IMAGE}" -size 10m -fs HFSX -volname "${VOLNAME}" -layout NONE

hdiutil attach "${IMAGE}"

cd "/Volumes/${VOLNAME}"
touch foo.txt Foo.txt
open .
ls -l [Ff]oo.txt
stat -f "inode: %i  --  name: %N" [Ff]oo.txt

cd ~
hdiutil detach "/Volumes/${VOLNAME}"
1
taco

私は Double Commander を使用します。これは、Mac OSXのTotalCommanderの代替手段です。TCと同じルックアンドフィールと同じ検索機能を備えています。 Easy Findは便利で便利ですが、ほとんどの場合、これがより速く見つかりました。 NTFSパーティションですべての* .isoファイルをすばやく検索しました。

1
Viktor

Mac OS10.3からコマンドnewfs_hfs -sは、大文字と小文字を区別する新しいファイルシステムを作成します。

0
Hugh Allen