Tubo Unix: buscar | ln -s

0

Estoy tratando de vincular algunos archivos php con el siguiente comando:

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

Sin embargo, todos los enlaces simbólicos están rotos porque el pequeño * no hace referencia a la ruta completa, solo al nombre del archivo. Cuando los escribo en un archivo usando:

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

Funciona. ¿Cómo puedo canalizarlo correctamente? Además, ¿cómo puedo decirle que no quiero ningún archivo ".php" que contenga ".php ~"

Frank Vilea
fuente

Respuestas:

3

Una tubería toma la salida estándar de un proceso y la conecta a la entrada estándar del siguiente proceso; eso no tiene ningún sentido para lo que estás tratando de hacer ( lnno hace nada con stdin).

Probablemente quieras algo como esto (no probado):

find `pwd` -name "*.php" -execdir ln -s {} /home/frankv/www/bietroboter.de/symlinks \;
Oliver Charlesworth
fuente
Gracias Oli ¿Qué haría si, digamos, todos están escritos en un archivo y los leo con cat test.txt?
Frank Vilea