Hallo, Am Sat, 21 Sep 2013, Susan Ivanova schrieb:
Am 20.09.2013 20:47 schrieb ?l ??gn?r <suse-ml@corr.eu.org>:
Am Fr, 20 Sep 2013 18:27:13 CEST schrieb David Haller:
Am Fri, 20 Sep 2013, ?l ??gn?r schrieb:
Wie suche ich alle Verzeichnisse, die eine *.jpg-Datei enthalten, aber _keine_ *.txt Datei [..] Das geht mit find nicht. Aber mit perl.
Alternativ zu grep vielleicht sed:
find . -type f -print | sed -e '/\.jpg/!d'
Äh, hallo? was soll das bringen? Es geht hier darum, die *Verzeichnisse* mit *.jpe?g Dateien zu finden die keine *.txt Datei enthalten. Nicht darum, irgendwelche *.jpg _Dateien_ zu finden. Das was du machst ist äquivalent zu: find . -type f -name '*.jpg' Naja, aber immerhin ist ein Beispiel für die exotische Syntax von sed dabei rausgekommen: ==== man sed === After the address (or address-range), and before the command, a ! may be inserted, which specifies that the command shall only be executed if the address (or address-range) does not match. ==== Weil die Bedingung (/\.jpg/!) auf alle Zeilen ausser die mit *.jpg passt wird das 'd' immer ausgeführt, es sei denn, das Muster "\.jpg" passt für diese Zeile (in dem Fall wird offenbar der ohne '-n' default Befehl 'p' um den aktuellen pattern-space auszugeben ausgeführt). Nettes Beispiel für sed. Mehr aber nicht. Aber eben komplett am Thema vorbei. Setzen, 4-, wg. kreativer Verwendung von sed und Pessimierung der Laufzeit des Befehls. -dnh, shell-Opa v.D., vermutlich[1] [1] bash + sed, awk, etc. pp, allerdings nicht zsh +, oder csh + -- Seely: Vielleicht schicken die ja nächstes Mal einen Mann für einen Männerjob ... Jordan: Was machen Sie dann hier? -- Crossing Jordan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org