suche Dateinamen und Ordner -> scheitere schon bei -iname

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
shadow07
User
Beiträge: 43
Registriert: Sonntag 22. Februar 2009, 16:29

hallo Profis,

obwohl ich hier zum Thema suchen/finden eine ganze Menge Beiträge gelesen habe, hänge ich schon am Anfang fest:

Code: Alles auswählen

find / - name "*Test*."
funktioniert,

Code: Alles auswählen

find / - iname "*test*."
geht nicht, -iname wird als nicht vorhanden mit error beendet
(os.Walk usw. steht nicht zur Verfügung)

Ziel:
ich möchte mit einem Teilstring eine Liste aller Ordner und Dateien erstellen, welche den Teilstring enthalten
Benutzeravatar
helduel
User
Beiträge: 300
Registriert: Montag 23. Juli 2007, 14:05
Wohnort: Laupheim

Moin,

lass das Leerzeichen zwischen - und name/iname weg.

Gruß,
Manuel
shadow07
User
Beiträge: 43
Registriert: Sonntag 22. Februar 2009, 16:29

danke für den Hilfsversuch, das leerzeichen ist mir aber nur hier beim schreiben passiert, original kopiert aus der Konsole:

Code: Alles auswählen

find /autofs/M1 -iname "*Cinema*.mp3"
Benutzeravatar
b.esser-wisser
User
Beiträge: 272
Registriert: Freitag 20. Februar 2009, 14:21
Wohnort: Bundeshauptstadt B.

Zwei kleine Fragen :
Warum fragst du im "Allgemeine-Python-Fragen Forum" nach Shell Befehlen ?
Warum postest du keine
- Fehlermeldungen?
- Systeminformationen (Dass dieser "find"-Befehl z.B. unter Windows funktioniert, ist zumindest unwahrscheinlich)?

Wenn du es tatsächlich in Python lösen willst (warum ohne os.walk (kleingeschrieben)?), wirst du wohl os.walk und glob.glob nachbauen müssen (Schau evtl. mal ins Python-Cookbook).

hth, Jörg
Wir haben schon 10% vom 21. Jahrhundert hinter uns!
shadow07
User
Beiträge: 43
Registriert: Sonntag 22. Februar 2009, 16:29

zu1) nun ja, es soll ein Python-script werden, sorry (notfalls bitte verschieben)

zu 2) weil es keine gibt:

Code: Alles auswählen

EXPRESSION may consist of:
	-follow		Dereference symbolic links.
	-name PATTERN	File name (leading directories removed) matches PATTERN.
	-print		Print (default and assumed).
	-type X		Filetype matches X (where X is one of: f,d,l,b,c,...)
	-perm PERMS	Permissions match any of (+NNN); all of (-NNN);
			or exactly (NNN)
	-mtime TIME	Modified time is greater than (+N); less than (-N);
			or exactly (N) days
	-newer FILE	Modified time is more recent than FILE's
	-inum N		File has inode number N
nun ja, ist ein Linux-Ableger (DB)

vielleicht klärt mich ja mal bitte einer auf: gibt es denn nicht grundsätzliche, allgemeingültige Befehle, mit denen man auf allen Linux-Ablegern gleichermaßen arbeiten kann?
Benutzeravatar
b.esser-wisser
User
Beiträge: 272
Registriert: Freitag 20. Februar 2009, 14:21
Wohnort: Bundeshauptstadt B.

In deinem listing steht nur "-name", d.h evtl. reicht folgendes:

Code: Alles auswählen

find /autofs/M1 -name "*inema*.mp3"
Sonst frag' die Docu ("man find"). Aber wenn es nicht implementiert ist, geht es eben nicht.

Ist das ein Embedded-Linux (auf einem Router, NAS etc)? Dann ist es natürlich besonders wahrscheinlich, dass das nicht geht.

hth, Jörg
Wir haben schon 10% vom 21. Jahrhundert hinter uns!
shadow07
User
Beiträge: 43
Registriert: Sonntag 22. Februar 2009, 16:29

Ist das ein Embedded-Linux
ja - und nach der Antwort bin ich einigermaßen erschüttert

das bedeutet dann ja tatsächlich, ich kann z.B. zwar googeln wie ich suche, finde find, erlese mir die Syntax und am Ende ist es unnütz, weil es sowieso nicht allgemeingültig ist. Mal im Ernst, wie soll man denn da seine ersten Gehversuche mit Linux machen?
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Code: Alles auswählen

find /autofs/M1 -name "*[cC]inema*.mp3"
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

shadow07 hat geschrieben:das bedeutet dann ja tatsächlich, ich kann z.B. zwar googeln wie ich suche, finde find, erlese mir die Syntax und am Ende ist es unnütz, weil es sowieso nicht allgemeingültig ist. Mal im Ernst, wie soll man denn da seine ersten Gehversuche mit Linux machen?
Naja, den Befehl hast du schon gefunden, und dann gibt's ja normalerweise immer eine Hilfeausgabe (die du ja auch gepostet hast) und eine man-Page.

Ein Embedded-Linux ist nun mal ein Spezialfall, das meiste, was du im Netz findest, bezieht sich auf Desktop- oder Serverinstallationen.

Und zu guter letzt: Linux ist ja genau genommen nur der Kernel, die ganzen Programme dazu gehoeren erstmal nicht dazu. Bei "normalen" Linux-Distrubutionen haben sich da die GNU-Sachen eingebuergert (GNU find z.B. mit dem Parameter -iname), aber auf Embedded-Systemen gibt es mehr Spezialloesungen, um mit den speziellen Bedingungen klar zu kommen (Speicherbedarf, Rechenleistung) etc, da kannst du normalerweise keine komplette Standard-Linux-Distrubution unterbringen.

Edit: Jetzt ist es mir auch passiert, Standard mit d zu schreiben :oops:
Zuletzt geändert von Rebecca am Dienstag 10. März 2009, 13:11, insgesamt 1-mal geändert.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

shadow07 hat geschrieben:das bedeutet dann ja tatsächlich, ich kann z.B. zwar googeln wie ich suche, finde find, erlese mir die Syntax und am Ende ist es unnütz, weil es sowieso nicht allgemeingültig ist. Mal im Ernst, wie soll man denn da seine ersten Gehversuche mit Linux machen?
Wunderst du dich auch wenn du feststellst, dass die Windows XP Dokumentation nicht auf Windows 3.11 zutrifft‽

Wie man die ersten Gehversuche machen soll: indem man die passende Dokumentation liest. Nicht irgendeine Dokumentation.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
b.esser-wisser
User
Beiträge: 272
Registriert: Freitag 20. Februar 2009, 14:21
Wohnort: Bundeshauptstadt B.

Mal im Ernst, wie soll man denn da seine ersten Gehversuche mit Linux machen?
Mit einer Desktop Live-CD/DVD, und der richtigen Documentation - alle Linux-Distros haben Homepages und spätestestens da gibts alles wichtige zu lesen.

hth, Jörg
Wir haben schon 10% vom 21. Jahrhundert hinter uns!
shadow07
User
Beiträge: 43
Registriert: Sonntag 22. Februar 2009, 16:29

alle Linux-Distros haben Homepages und spätestestens da gibts alles wichtige zu lesen.
nö, leider nicht - sonst würde ich hier nicht zum zweiten Thema völlig ahnungslos daran rumknobeln - ich wäre sehr froh wenn ich eine anständige Quelle für dergleichen Infos hätte

aber die Antworten haben mir dennoch weitergeholfen, denn ich habe jetzt kapiert das ich derlei Grund-Informationen benötige und eben keine allgemeingültigen Vorgehensweisen möglich sind.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

shadow07 hat geschrieben:aber die Antworten haben mir dennoch weitergeholfen, denn ich habe jetzt kapiert das ich derlei Grund-Informationen benötige und eben keine allgemeingültigen Vorgehensweisen möglich sind.
Die gibt es schon. Allerdings steht es jeder Distribution frei, aus welchen Gründen auch immer, sich dagegen zu entscheiden.
Wenn etwas nicht klappt, die Manpage konsultieren -> `man $programm'
Antworten