Ich versuche herauszufinden, wie man eine Liste von Dateinamen für eine Datei namens BOZO erhält, die aber mit NUR 123 ODER 456 endet.
Dateien sind:
BOZO12389,
BOZOand3
BOZOand456
BOZOand5
BOZOhello123
Der Befehl sollte also nur 'BOZOhello123' und 'BOZOand456'
anzeigenIch kann es nicht herausfinden. Ich habe alle Formen von LS und GREP ausprobiert, die ich mir vorstellen kann. Das Lustige ist, wir haben versucht, es in der Klasse für ca. 10 Minuten zu tun und niemand konnte es (einschließlich der Lehrer) bekommen.
Verwenden Sie reguläre Ausdrücke, um Ihnen zu helfen. Der Befehl egrep
sollte helfen, da Sie damit reguläre Ausdrücke verwenden können.
Sie suchen nach Dateien der Art BOZO456 und BOZO123
Ein Punkt .
ist ein Joker, mit dem Sie <anything>
ersetzen können. Mit *
können Sie es mindestens einmal wiederholen. Indem Sie runde Klammern von 123 und 456 platzieren, simulieren Sie ein ODER.
Sie möchten also, dass ein Zeichen 0 oder mehrmals wiederholt wird, gefolgt von 123 oder 456.
Beispiel:
egrep "BOZO.*(456|123)" data
Danke an Nathan Fellman für die Hilfe und die Änderungen.
Das sollte nicht so schwer sein. Am naivsten ist es, ls
in das Verzeichnis einzutragen und dann nur nach dem zu suchen, was Sie wollen: