Hallo Аl, 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:
Hallo,
Am Fri, 20 Sep 2013, ?l ??gn?r schrieb:
Wie suche ich alle Verzeichnisse, die eine *.jpg-Datei enthalten, aber _keine_ *.txt Datei
alternativ alle Verzeichnisse mit *.jpg-Datei als normale Datei oder als (kaputter) Link und _keine_ *.txt Datei
Das geht mit find nicht. Aber mit perl.
Ohne Sonderbehandlung kaputter symlinks:
==== #!/usr/bin/perl -w use strict; use File::Find;
my %found;
sub wanted { my @t = glob ("*"); my $jpg = grep { /\.jpg$|\.jpeg$/i; } @t; my $txt = grep { /\.txt$/i; } @t; if( $jpg > 0 && $txt == 0 ) { if( ! $found{$File::Find::dir} ) { print "$File::Find::dir\n"; $found{$File::Find::dir}++; } } }
scalar @ARGV || push(@ARGV, "."); File::Find::finddepth( { no_chdir => 0, wanted => \&wanted, }, @ARGV ); ====
danke David. Könnte man da nicht ein find mit einem grep kombinieren um einen Überblick zu bekommen? Automatisches Löschen finde ich in diesem Fall gefährlich, da ich einen Denkfehler bei den genannten Bedingungen haben könnte.
Alternativ zu grep vielleicht sed: find . -type f -print | sed -e '/\.jpg/!d' Mit freundlichen Grüßen si -- 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