Copiar ficheros en Linux
4 seguidores
Hola!,
Estoy haciendo un fichero Sh para copiar todo el contenido de una carpeta a otra, pero solo los ficheros que resultan de esta busqueda:
find . ! -name "cam_*" ! -name "mic_*"
Como puedo hacerlo? Mi problema es que no se como almacenar estos resultados e ir copiando los ficheros, o como hacer la operacion en una sola sentencia.
Muchas gracias por adelantado.
Pancho
Kr0n
leh +1
En el -exec le pones el comando (o comandos) que quieras hacer y "{}" se sustituye luego por los resultados que encuentre find. El "\;" indica donde acaba el comando para -exec. Es muy potente y se le puede sacar mucho jugo, como podrás imaginar. Otra opción es pasarle con un pipe el resultado del find a un xargs, que sería equivalente al -exec.
Para lo que buscas, no te hace falta complicarte con python, ruby ni nada.
dagi3d
es obligatorio usar bash para programarte el script? no puedes usar algún otro lenguaje? mi recomendación es que si ya tienes instalado php o aún mejor, ruby, te hagas los scripts en ese lenguaje y tu vida será un poco más sencilla
leh
Prueba con la opción -exec del find, algo así:
find . ! -name "cam_*" ! -name "mic_*" -exec cp {} /tmp \;