Unter Linux habe ich ein Verzeichnis mit vielen Dateien. Einige von ihnen haben Nicht-ASCII-Zeichen, aber sie sind alle gültig UTF-8. Ein Programm hat einen Fehler, der verhindert, dass es mit Nicht-ASCII-Dateinamen arbeitet, und ich muss herausfinden, wie viele davon betroffen sind. Ich würde dies mit find
tun und dann eine grep, um die Nicht-ASCII-Zeichen zu drucken, und dann eine wc -l
, um die Nummer zu finden. Es muss nicht Grep sein; Ich kann jeden Standard-Unix verwenden regular expression, wie Perl, sed, AWK usw.(grep) Regex für Nicht-ASCII-Zeichen?
Allerdings gibt es einen regulären Ausdruck für ‚jedes Zeichen, das nicht ein ASCII-Zeichen ist‘?
[^\x00-\x7F]
Dies ist ein gültig PCRE (Perl-Compatible Regular Expression):
ist Perl installiert? –
Paul, ja ich kann perl verwenden – Rory