W systemie Linux mam katalog z dużą ilością plików. Niektóre z nich mają znaki spoza ASCII, ale wszystkie są poprawnymi kodami UTF-8 . Jeden program ma błąd, który uniemożliwia mu pracę z nazwami plików spoza ASCII i muszę dowiedzieć się, na ilu z nich ma to wpływ. Zamierzałem to zrobić, find
a następnie wykonać polecenie grep, aby wydrukować znaki spoza ASCII, a następnie zrobić, wc -l
aby znaleźć liczbę. Nie musi to być grep; Mogę użyć dowolnego standardowego wyrażenia regularnego Unix , takiego jak Perl , sed , AWK itp.
Czy jednak istnieje wyrażenie regularne dla „dowolnego znaku, który nie jest znakiem ASCII”?
/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F]