GNU/Linux >> Tutoriels Linux >  >> Linux

Comment diriger les résultats de 'find' vers mv sous Linux

xargs est couramment utilisé pour cela, et mv sous Linux a un -t option pour faciliter cela.

find ./ -name '*article*' | xargs mv -t ../backup

Si votre find prend en charge -exec ... \+ vous pourriez faire de manière équivalente

find ./ -name '*article*' -exec mv -t ../backup {}  \+

Le -t option est une extension GNU, elle n'est donc pas portable sur les systèmes qui n'ont pas GNU coreutils (bien que tous les Linux que j'ai vus en aient, à l'exception peut-être de Busybox). Pour une portabilité POSIX complète, il est bien sûr possible de lancer votre propre remplacement, peut-être quelque chose comme

find ./ -name '*article*' -exec sh -c 'mv "[email protected]" "$0"' ../backup {} \+

où l'on abuse sans vergogne du fait commode que le premier argument après sh -c 'commands' se termine par le paramètre "nom du script" dans $0 pour que nous n'ayons même pas besoin de shift il.

Voir probablement aussi https://mywiki.wooledge.org/BashFAQ/020


find ./ -name '*article*' -exec mv {}  ../backup  \;

OU

find ./ -name '*article*' | xargs -I '{}' mv {} ../backup

Linux
  1. Comment trouver le fichier le plus ancien dans une arborescence de répertoires sous Linux

  2. Comment savoir si le disque est un SSD ou un disque dur sous Linux

  3. Linux :Comment trouver le pilote de périphérique utilisé pour un périphérique ?

  4. Est-il possible de diriger les résultats de FIND vers une commande COPY CP ?

  5. Comment trouver l'adresse IP de la passerelle sous Linux

Comment trouver le type de système de fichiers monté sous Linux

Comment trouver une adresse IP sous Linux

Comment trouver le nom d'hôte sous Linux

Comment trouver la taille totale d'un répertoire sous Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Comment trouver la liste des référentiels installés sous Linux