Sie sind nicht angemeldet.

1

08.09.2009, 00:30

Alles finden was nur aus Großbuchstaben besteht

Hallo zusammen,

Wie kann ich in einem Shellskript Dateien und Ordner finden, die nur aus Großbuchstaben bestehen oder Umlaute enthalten?

Ich glaube ich bin dem schon auf der Spur, aber so ganz kommt noch nicht das heraus, was ich suche:

find . -maxdepth 1 -not -wholename "./.*" -name "*[äöüÄÜÖßA-Z]*" -type f -print

Das liefert mir schon mal alle Dateien im momentanen Verzeichnis mit Umlauten aber leider auch alle, die auch nur einen Großbuchstaben haben. Ich möchte aber nur jene finden, die nur aus Großbuchstaben bestehen, also eine Datei wie AAAAAA.JPG aber eben nicht eine Date wie Aaaaa.JPG auch nicht aaAaa.jpg.

Vielleicht hat ja einer von Euch eine Idee

Danke!

2

08.09.2009, 10:52

RE: Alles finden was nur aus Großbuchstaben besteht

moin moin,

was waere wenn du die Suche aufteilst und das suchst:

find . -maxdepth 1 -not -wholename "./.*" -name ".[:upper:]*" -type f -print
for Windows problems: reboot
for Linux problems: be root

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »BorneBjoern« (08.09.2009, 10:57)


3

08.09.2009, 12:01

RE: Alles finden was nur aus Großbuchstaben besteht

moin :)

Danke für Deine Antwort!

Ich glaub ich hab's jetzt:
find . -maxdepth 1 -not -wholename "./.*" -not -name "*[a-z]*.*" -name "*[äöüÄÖÜßA-Z()\[\]\{\}]*" -type f -print

Laut Doku filtert find von links nach rechts und das Ergebnis sieht schon recht vielversprechend aus.

Das Ganze kommt in ein Skript und soll durch mehrere Platten laufen, da wollte ich die Schleifen nicht mehrfach durchlaufen müssen. Das -maxdepth wird dann wieder entfernt, das dient imMo nur zum Testen.

Aber trotzdem - nochmal DANKE - das hat mich auf die Idee gebracht.

4

20.09.2009, 12:15

Ich würde das "-type f" weit nach links tun, weil das geht dann ein bisschen schneller.

Thema bewerten