Buscar fitxers i executar comandes amb els resultats

Un truc que seeeempre oblido i que resulta molt útil quan cal fer una cerca de fitxers i fer alguna cosa amb el resultat. Consisteix en utilitzar find i xargs.

Per les coses més senzilles, com ara buscar tots els .jpg dins un directori i moure'ls a un directori concret:

  find /dir_on_cerquem/ -name "*.jpg" -exec mv '{}' /home/lasker/imatges/ ';'  

Atenció amb el punt i coma del final, és realment lleig, però sense ell l'invent no funciona.
Segon mètode, per exemple per buscar un tros de codi dins un projecte:

find /dir_on_cerquem/ -name *.c | xargs less {} "main"

La clau és recordar que s'ha d'utilitzar el ';' pel find -exec, i que xargs substitueix per defecte el nom que li entra per stdin a {}. Per més detalls, info "Finding files".

pàgina generada en: 0.411 segons.