GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je utiliser xargs pour copier des fichiers contenant des espaces et des guillemets dans leurs noms ?

find . -print0 | grep --null 'FooBar' | xargs -0 ...

Je ne sais pas si grep prend en charge --null , ni si xargs prend en charge -0 , sur Leopard, mais sur GNU tout va bien.


Vous pouvez combiner tout cela en un seul find commande :

find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;

Cela gérera les noms de fichiers et les répertoires contenant des espaces. Vous pouvez utiliser -name pour obtenir des résultats sensibles à la casse.

Remarque :Le -- drapeau passé à cp l'empêche de traiter les fichiers commençant par - comme options.


Linux
  1. SSHFS ? Qu'est-ce que c'est et comment l'utiliser ?

  2. Rechercher et copier des fichiers

  3. Comment puis-je rechercher des répertoires et trouver des fichiers qui correspondent à regex ?

  4. Comment puis-je copier récursivement des fichiers par extension de fichier, en préservant la structure des répertoires ?

  5. Comment puis-je trouver des fichiers et calculer leur taille ?

Comment utiliser sed pour rechercher et remplacer une chaîne dans des fichiers

Comment utiliser la commande cp pour copier des fichiers et des répertoires

Comment rechercher et supprimer des fichiers contenant un texte spécifique dans leurs noms sous Linux

Comment trouver des fichiers en fonction de leurs autorisations sous Linux

Comment puis-je trouver des fichiers qui n'ont qu'une certaine autorisation pour le propriétaire ?

Comment puis-je lister les groupes d'un utilisateur lorsque leurs noms contiennent des espaces ?