-1

findASCII 以外の文字を含むファイルを作成する方法はありますか? もちろん、パイプを使用して、perl でファイルをフィルタリングすることもできますが、効率のために、すべてを に設定したいと思いfindます。私は次のことを試しました:

find . -type f -name '*[^[:ascii:]]*'

まったく機能しません。

編集

私は今、利用しようとしています

find . -type f -regex '.*[^[:ascii:]].*'

これは emacs 正規表現であり、[:ascii:]クラスがあります。しかし、私が使おうとしている表現は機能しません。

編集2

LC_COLLATE=C find . -type f -regex '.*[^!-~].*'

非ASCII文字(完全なブードゥー...)を持つファイルに一致します。ただし、名前にスペースが含まれるファイルにも一致します。

4

1 に答える 1

4

これは、デフォルト モードと posix 拡張モードの両方で機能するようです。

LC_COLLATE=C find . -regex '.*[^ -~].*'

ただし、ロケール関連の問題がある可能性があり、テストするためのASCII以外のファイル名の大きなコーパスはありませんが、私が持っているものをキャッチします.

于 2012-05-29T20:56:52.647 に答える