Unix-Pipe: Finde | ls -s

3296
Frank Vilea

Ich versuche, einige PHP-Dateien mit dem folgenden Befehl zu verknüpfen:

find `pwd` -name "*.php" | ln -s * /home/frankv/www/bietroboter.de/symlinks 

Alle Symlinks sind jedoch defekt, da das kleine * nicht auf den vollständigen Pfad verweist, sondern nur auf den Dateinamen. Wenn ich sie in eine Datei schreibe mit:

find `pwd` -name "*.php" > test.txt 

Es klappt. Wie kann ich es richtig pfeifen? Wie kann ich auch sagen, dass ich keine ".php" -Dateien möchte, die ".php ~" enthalten.

0

1 Antwort auf die Frage

3
Oliver Charlesworth

Eine Pipe nimmt den Standard aus einem Prozess und verbindet ihn mit dem Standard des nächsten Prozesses. Das macht keinen Sinn für das, was Sie versuchen ( lnmacht nichts mit stdin).

Wahrscheinlich möchten Sie so etwas (ungeprüft):

find `pwd` -name "*.php" -execdir ln -s {} /home/frankv/www/bietroboter.de/symlinks \; 
Danke Oli. Was würde ich tun, wenn sie alle in einer Datei notiert sind und ich sie mit cat test.txt auslese? Frank Vilea vor 12 Jahren 0