Danke
> find ./ -iname '*.rar' -type f
> Leider bekomme ich nur Ergebnisse mit relativen Pfaden. Gibt es einen
> Schalter für find, damit die Ergebnisse den absoluten Pfad beinhalten?
Diese Aufrufe:
find "$PWD" ....
find "$(pwd)" ...
(also die pwd-Varianten anstelle von './') tun das Gewünschte.
Gib halt einen absoluten Pfad für die Suche an:
find `pwd` -iname '*.rar' -type f
HTH, Frank
Grrr ... jetzt hab ich gedacht, ich bin mal ausnahmsweise
der Schnellste bei der Antwort, aber die Heike hat wohl
immer Dienst ;-)
Nix für ungut,
Frank
Erm, nö (klappt bloß mit passenden Verzeichnisnamen). Quoting fehlt:
find "`pwd`" ...
Da du eh schon im Pfad bist könntest du anstatt ./ "$PWD" benutzen.
Ciao Nobbe
Ich fürchte, ich hatte in letzter Zeit zu wenig Präsenz. Gleich 2
Antworten schreiben einen ungequoteten String hin. Seufz ...
Es ist *DIE* allererste Fehlerquelle bei der Shell-Programmierung: Wer
die Quotes um einen String weglässt, sollte besser genau wissen[1], was
er tut, und lebt deutlich gefährlicher als mit Quoting. Denn das
Weglassen führt zu zusätzlichen Verarbeitungsschritten der Shell, die
den Inhalt verändern können und es mit Vorliebe erst dann tun, wenn man
es gar nicht mehr erwartet und angefangen hat, dem jeweiligen
Programmier{kunst,mist}stück zu vertrauen.
Und das kann manchmal richtig wehtun, z.B. wenn dasselbe Wort einmal
alleine und einmal woanders Leerzeichen-getrennt als Teilstring
auftaucht und ein ungequotetes rm-Argument (von mir aus auch "bloß"
cp-Argument) im Spiel ist ...
_____
[1] was hier offensichtlich nicht der Fall war
Hast natürlich Recht. Allerdings gab und gibt es bei mir
keine Leer- oder Sonderzeichen in Pfaden - ich hatte diese
antike *nix-Konvention bereits in den späten 1980-ern als
zwingend und problemvermeidend verinnerlicht.
Andererseits ist die Dominanz gewisser Shell vermeidender
Betriebssysteme so groß, dass man sich kaum noch gegen
Leerzeichen in Pfaden wehren kann, sei es in Email-Anhängen
oder irgendwelchen anderen externen Dokumenten :(
Gruß,
Frank
> Heike C. Zimmerer schrieb:
>> "Fr@nk Stef@ni" <f...@despammed.com> writes:
>> Erm, nö (klappt bloß mit passenden Verzeichnisnamen). Quoting fehlt:
>>
>> find "`pwd`" ...
>
> Hast natürlich Recht. Allerdings gab und gibt es bei mir
> keine Leer- oder Sonderzeichen in Pfaden - ich hatte diese
> antike *nix-Konvention bereits in den späten 1980-ern als
> zwingend und problemvermeidend verinnerlicht.
Ich bezweifle, dass es sinnvoll ist, Regeln einzuführen, die so leicht
zu verletzen sind (auch aus Versehen), nur um die doppelten
Anführungszeichen nicht tippen zu müssen (oder allgemeiner formuliert:
um sich mit Quoting nicht beschäftigen zu müssen). Denn ein Shellskript
so hinzubekommen, dass es mit White Space in Dateinamen klarkommt, ist
nicht schwierig (auch wenn es mal um mehr als die doppelten
Anführungszeichen geht).
Die einzig ernstzunehmende Einschränkung, die mir dabei einfällt, ist,
dass sich dann nicht einfach mehrere getrennte Dateinamen in einem
String unterbringen lassen.
Hättest Du den Newline genannt, hätte ich das eher eingesehen.
Wo du Recht hast, hast du Recht :)
> find $PWD -iname ...
Kürzer:
Statt $PWD kann man auch ~+ verwenden (zumindest auf Bash).
Michael
> Erm, nö (klappt bloß mit passenden Verzeichnisnamen). Quoting fehlt:
Bei ~+ statt `pwd` oder auch $PWD kann man sich das Quoting
sparen (bei Bash).
Michael