GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je éditer tous les fichiers renvoyés par find in vi sous Linux ?

Cela devrait faire l'affaire :

find . -name "*.txt" -exec vim {} + 

Utilisez Vim, c'est mieux pour votre santé. :-)

Le + souvent négligé option à -exec fait apparaître tous les noms de fichiers (jusqu'aux limites de longueur de ligne) sur une seule ligne, c'est-à-dire que vous obtenez toujours tous les fichiers ouverts en un vim session (naviguée avec :n pour suivant et :N pour le fichier précédent).

Avec vim -p vous obtenez un onglet de fichier pour chaque fichier. Vérifiez :help tab-page-commands pour plus de détails.

Avec vim -o vous obtiendrez des fenêtres divisées horizontalement pour chaque fichier, vim -O fenêtres divisées verticalement. Vérifiez :help window-move-cursor pour plus de détails.

Notez que la version précédente de cette réponse, vim $(find . -name "*.txt") , ne fonctionne pas avec des espaces dans les noms de fichiers et a des implications sur la sécurité.

Tuyauterie en xargs vi donne un Warning: Input is not from a terminal , plus un terminal avec un comportement complètement faux par la suite. Grawity de l'utilisateur a expliqué pourquoi dans un commentaire ci-dessous, et avec un peu plus d'explications dans cette question.


Ou lancez vim et à partir de là :

:args **/*.txt

Linux
  1. Comment trouver un fichier sous Linux dans tous les répertoires de manière récursive

  2. Comment utiliser la commande Linux find pour rechercher des fichiers

  3. Comment trouver tous les fichiers épars sous Linux

  4. Comment puis-je trouver les fichiers d'en-tête du langage de programmation C sous Linux ?

  5. Comment puis-je trouver tous les fichiers liés en dur sur un système de fichiers ?

Comment trouver des fichiers en utilisant la ligne de commande dans le terminal Linux

Conseils Vim - Modifier des fichiers distants avec Vim sous Linux

Comment décompresser les fichiers gz sous Linux

Comment trouver des fichiers basés sur l'horodatage sous Linux

Comment trouver des fichiers modifiés au cours des dernières 24 heures sous Linux

Comment rechercher des fichiers avec la commande fd sous Linux