PDA

View Full Version : qsh find -prune geht nicht



Robi
02-02-16, 09:57
Hallo *all

wir haben V7R1 so ziemlich alle Prf's

wen ich in der qsh ein
find '/qntc/vmfileixxx/freigabe/edv/as400/neue Adressen/Berta bums/Test' -name *.[Tt][Xx][Tt] -prune


mache bekomme ich


/qntc/vmfileixxx/freigabe/edv/as400/neue Adressen/Berta bums/Test/Datei.txt
/qntc/vmfileixxx/freigabe/edv/as400/neue Adressen/Berta bums/Test/_verarbeitet/Datei.txt


Anscheinend reagiert er nicht auf das -prune
Hab schon einiges probiert, kennt sich da jemand aus?

ich will NICHT die Dateien aus den Unterverzeichnissen!
aber die .txt kann halt auch TXT, TxT, tXt ... heißen

Danke für alle Tipps zu find! (LS ginge ja auch ...)

Robi

Fuerchau
02-02-16, 10:34
Hier würde ich einen simplen "ls" anwenden.
Allerdings, da der Pfad Leerzeichen enthält, vorher einen cd mit Hochkomma machen:

cd '/kompletter pfad';ls *.[tT][xX][tT]

Die Auflösung der Namen erfolgt durch die Shell und nicht durch das Kommando.

camouflage
02-02-16, 12:18
OT
auf "Berta bums/Test" würd ich vermutlich auch nicht reagieren.
/OT
*scnr

Robi
02-02-16, 16:52
Danke für die Kreativen Ideen. (ich hätte Berta Bums schreiben sollen)

ich weiß das es auch mit LS geht
Hie hat sich aber find durchgesetzt, da im Ergebnis der Pfad wieder auftaucht.
Kann mann alles lösen, ich weiß ...

Trotzdem würde mir die richtige Syntax mit dem -prune mal interessieren
Wenn also einer noch ein Bsp hätte.

Danke
Gruß
Robi

Fuerchau
02-02-16, 17:53
Im QSH-Handbuch kann ich die "-prune"-Option nicht finden.
http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahz/rzahzdownload.htm

Robi
03-02-16, 07:42
ist hier beschrieben
http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahz/rzahzfind.htm?lang=de


-prune
This primary always evaluates to true. It causes find to not descend into the current file. Note, the -prune primary has no effect if the -d option was specified.

always true hieße ja: es braucht nicht gesetzt zu werden

Robi

Robi
03-02-16, 09:16
noch ein Tipp aus unserer Java Abteilung
Besser als

cd '/kompletter pfad';ls *.[tT][xX][tT]
ist
cd '/kompletter pfad' && ls *.[tT][xX][tT]

Der Unterschied:
; sagt es sind 2 Befehle
gibt es den pfad nicht, geht der LS auf das /home/user/ Verzeichnis (oder was auch immer gesetzt ist)

&& behandelt das wie einen Befehl, gibt es das Verzeichnis nicht kommt nix zurück

Robi