Liste alle Dateien beginnen nicht mit einer Zahl
Möchte ich untersuchen, die alle wichtigen Dateien, die in meinem /proc
. Aber /proc
hat unzählige Verzeichnisse entsprechend den Laufenden Prozessen. Ich will nicht in diesen Verzeichnissen aufgeführt werden. Alle diese Verzeichnisse der Namen nur zahlen enthalten. Als ich bin schlecht in regulären Ausdrücken, kann mir jemand sagen, was die regex
, dass ich zu senden, um ls
zu machen NICHT, um die Suche Dateien/Verzeichnisse, die Nummern in Ihrem Namen?
UPDATE: vielen Dank an alle die Antworten! Aber ich würde gerne eine ls
alone-Lösung statt ls+grep
Lösung. Die ls
alone-Lösungen angeboten, bis jetzt scheint nicht zu funktionieren!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle Dateien und Verzeichnisse in
/proc
die keine zahlen enthalten (in anderen Worten, ohne Prozess-Verzeichnisse):Alle Dateien rekursiv unter
/proc
die nicht mit einer Zahl beginnen:Aber dies schließt auch numerische Dateien in Unterverzeichnisse (zum Beispiel
/proc/foo/bar/123
). Wenn Sie ausschließen wollen, nur die top-level-Dateien mit einer Zahl:Halt wieder auf! Bedeutet das nicht, dass alle reguläre Dateien erstellt von
touch /proc/123
oder ausgeschlossen werden? Theoretisch ja, aber ich glaube nicht, dass Sie das tun können. Versuchen Sie, erstellen Sie eine Datei für eine PID, die nicht vorhanden ist:ls -d /proc/[^0-9]*
Listen genau die Verzeichnisse an, die zahlen( Die ich nicht will 🙁 ) ich.e Prozess-Verzeichnisse! Etwas ist faul hier auch!ls --version
zurück? Ich habe dies auf zwei verschiedenen Distributionen (Ubuntu 64-bit und Linux Mint 64-bit, GNUls
8.5 auf einem Rechner zumindest), und es zeigt nur die Dateien und Verzeichnisse ohne zahlen, von/proc/acpi
zu/proc/zoneinfo
.ls
ist notorisch unportabel, so dass es könnte nur sein, dass-d
etwas vollkommen unterschiedlich in Ihrer version.man ls
und Suche für-d
fast gibt ähnliche Erklärung auf beiden Systemen Verzeichnisse werden behandelt wie jede andere Dateien! Warum diese differnece?!Brauchen Sie nicht, grep, nur
ls
:wenn Sie möchten, durchsuchen Sie das ganze Unterverzeichnis-Struktur Verwendung finden:
ls
Lösung. Es ist die Auflistung aller Dateien in den Ordnern, beginnend mit zahlen! Ich möchte nicht, dass die Verzeichnisse, die mit startnummer an alle!find
Lösung stürzt sich in Ordnern mit zahlen in Ihren Namen! Bin ich etwas fehlt?ls
listet die richtigen Dateien, aber auch Listen Verzeichnis Inhalt/proc/*/
. Und diefind
klar listet alle Prozess-Verzeichnisse und deren Dateien.find
nimmt die option-type d
.Verwenden Sie grep mit
-v
sagt, es zu drucken, werden alle Linien nicht passenden das Muster.ls /proc | grep -v -E '[0-9]+'
Folgende regex findet alle Zeichen außer zahlen
Hoffe, es hilft !
Willen der Fertigstellung. Bewerben Sie sich Mithandir die Antwort finden.