Re: ls | grep
Am Samstag, den 07.01.2006, 14:45 +0100 schrieb Al Bogner:
> Am Samstag, 7. Januar 2006 14:32 schrieb Daniel Leidert:
> > find -maxdepth 1 ! -regex ".*_[1|2]$" -printf "%f\n"
>
> find -maxdepth 1 ! -regex ".*_[1|2]$" -printf "%f\n"
^ das ist natürlich Unsinn.
> .
> a
> datei
> a_kb
> a_cd
> a_ef
>
> Ich vermute, dass mir der 1. Punkt noch Probleme machen wird.
Einfache Lösung: Spezifiziere, dass du nur an Dateien interessiert bis
(es handelt sich doch nur um Dateien?). Der Punkt steht für ein
Verzeichnis:
find -maxdepth 1 ! -regex ".*_[12]$" -type f -printf "%f\n"
Oder schließe den Punkt halt generell noch mit aus:
find -maxdepth 1 ! -regex "\(\.$\)\|\(.*[12]$\)" -printf "%f\n"
> Ich habe noch immer nicht rausgefunden, warum die "Oder-Syntax" nur mit 1
> Zeichen funktioniert.
Das ist eine Mengen-Syntax. '[]' enthält eine Menge. Der '|' ist Unsinn
an dieser Stelle.
> find -maxdepth 1 ! -regex ".*_[cd|ef]$" -printf "%f\n"
Probiere ein
find -maxdepth 1 ! -regex ".*_\(cd\|ef\)$" -printf "%f\n"
sollte funktionieren. Irgendwie ist der Syntax etwas
gewöhnungsbedürftig. Kann mir jemand erklären, warum ich die Klammern,
obwohl ich den Ausdruck in '"' entwickle, mit einem Escape-Zeichen
versehen muss?
MfG Daniel
Reply to:
- References:
- ls | grep
- From: Al Bogner <debian@ml05a.pinguin.uni.cc>
- Re: ls | grep
- From: Al Bogner <debian@ml05a.pinguin.uni.cc>
- Re: ls | grep
- From: Daniel Leidert <daniel.leidert.spam@gmx.net>
- Re: ls | grep
- From: Al Bogner <debian@ml05a.pinguin.uni.cc>