やりたいこと
- 古い文字コードで書かれたテキストファイルも対象に含めて検索したい
または、
- 特定の文字コードで書かれたテキストファイルの一覧を抽出したい。
背景とやったこと
古いPCからコピーしたテキストファイルが大量にあって、写真や動画等と混在してHDのあっちこっちに分散しています。古い時代のものですのでjisやeucで書かれていて、ファイル名の付け方も時代によりまちまちです。
特定の語句を含むファイルをfindコマンドやspotlightなどで検索しようとしましたが、unicode以外のファイルは文字化け扱いなのか検索に引っ掛けることができません。
拡張子を頼りに探し出そうともしましたが、拡張子はtxtだけではなく、rdやhowm、org、texなどまちまちで、記憶にないような拡張子も多々あったため難しいです。
試しにfind . -type f -print0 | xargs -0 nkf --guess | sort -k2
とやってみたら、少ないファイル数でなら文字コードごとのファイル一覧が作れましたが、ファイル数が多くなるとnkfのCPU使用率が100%近くなって、ハングしたようになってしまいます。
速いと噂のfdでfd -t f -0 | xargx -0 nkf --guess | sort -k2
としても同様にハング風でした。
mdfind
なら速くできそうな気がしましたが、同様の操作の書き方がわかりませんでした。
文字コードによらず全てのファイルを対象に一括検索できることが望みですが、
特定の文字コードで書かれたファイルを抽出することさえできれば、ゴリ押しで変換や検索などすることはできそうな気がします。
良いアイディアはございませんでしょうか。
環境:
macOS Catalina 10.15.3
bash 5.0.16
nkf 2.1.5
fd 7.4.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/09 06:57
2020/03/09 07:05