質問: pcから「スパイシー」なメディアファイルを見つけて削除する方法 私は恥ずかしい問題を抱えています:私の若くて荒い日には、特定の種類の映画クリップや写真をダウンロードするのが常でした。若々しい愚かさとビール2杯の組み合わせで、どうやら私はこれらのファイルをハードドライブの奇妙な場所に置くようになりました。私のガールフレンドは数週間で私と一緒に引っ越してきます、そして私は彼女がそれらのファイルの1つに偶然出会う見通しに恐怖を感じます。私は何度かドライブを使いましたが、そのたびにこれらの障害のあるファイルを別の場所に見つけることができました。私は何十万ものファイルを含む巨大なドライブを持っています。それらのほとんどは正当であり、仕事に関連しているので、pcをフォーマットするだけではできません。さらに問題を複雑にするために、問題のあるファイルのいくつかは誤解を招くような方法で名前が付けられています。ここで本当に助けが必要です。 pcを正直にするにはどうすればよいですか?
回答: [...]これらのファイルをハードドライブの奇妙な場所に配置させた また、一時インターネットファイルを含む一部のディレクトリは、標準ツールを使用して簡単に検索できない場合があります。 (同様:windowsエクスプローラーは、temporary internet filesフォルダーの実際のコンテンツを実際には表示しません。)そして、一時インターネットファイルには、認識できるファイル名拡張子がない場合があります。しかし、それは主に一時ファイルをクリアすることで解決されます。しかし、非標準のファイル名拡張子を自分で使用した場合、windowsは、ファイルの検査に依存するユーティリティ( マジックナンバー の使用など)を使用しない限り、それらを見つけるのに役立ちません。または、windowsをまったく使用していない場合でも、検索時にファイル名拡張子に依存することはできません。多くのオペレーティングシステムでは、そのような拡張子は必要ないためです。macでテストされた、可能であればマジックナンバーを使用してファイルの内容を調べて検索するには:#!/bin/bash # recurses into all subdirectories of the current folder, to determine which # file types are present in that directory. as this takes a long time to run, # this also stores the results for later use. # recurse all directories from current directory: find . -type d | while read dirname; do # for each directory: # - find -type f find all regular files # - -exec echo print the directory name and some comma separators # - -exec file print the mime type # - sort group lines with similar mime types # - uniq -c count all unique combinations of directory and type # - tee show result(s) on screen and append to file # # so, the following appends count, directory name and mime type, like # 41 ,./my/directory/name,image/jpg # 3 ,./my/directory/name,image/png # 12 ,./my/directory/name,video/x-flv # to a comma-separated output file: find "$dirname" -mindepth 1 -maxdepth 1 -type f \ -exec echo -n ",$dirname," \; -exec file -b --mime-type "{}" \; \ | sort | uniq -c | tee -a folders-and-types.csv done echo "found the following mime types:" cut -d , -f 3 folders-and-types.csv | sort | uniq echo "found images and videos in the following subdirectories:" grep ",image\|,video" folders-and-types.csv ファイル名を含むリストを取得するには、含める必要のあるmimeタイプを確認したら、すぐにファイルタイプをフィルタリングできます。find . -type d | while read dir; do # the following appends the file path and mime type, like # ./my/directory/name/favicon.ico: image/x-ico; charset=binary # ./my/directory/name/test.jpg: image/jpg # ./my/directory/name/test.me: image/png # ./my/directory/name/test.temp: video/x-flv # to the output file: find "$dir" -mindepth 1 -maxdepth 1 -type f \ -exec file --mime-type "{}" \; \ | grep ": audio\|: image\|: video" | tee -a all-media-files.txt done どちらの方法も、完了するまでに非常に長い時間がかかり、非常に長いリストが表示されます。しかし、それがwindows以外のマシンで信頼できる唯一の方法であり、奇妙なファイル名拡張子を使用していた場合だと思います。linuxでは、同様のものが機能します。 windowsでは、これには cygwin または gnuwin のようなものを使用するか、 a live cd を使用してlinuxを起動する必要があります。application/zipや類似のmimeタイプ、または不明なファイルタイプの場合はapplication/octet-streamにも関心があることに注意してください。