GNU/Linux >> Tutoriels Linux >  >> Linux

Ouvrir un fichier donné par le résultat d'une commande dans vim

Vous pouvez utiliser la substitution de commande :

vim $(find -name somefile.txt)

ou

find -name somefile.txt -exec vim {} \;

Essayez ceci :

  1. lancer vim
  2. dans vim, utilisez ce qui suit :

:r!find /<path> -name 'expression'

Les résultats devraient apparaître dans vim lorsque la recherche est terminée.

Ou

Essayez :

find /<path> -name > results.txt
vim results.txt 

Si cela ne vous dérange pas d'exécuter à nouveau la commande :appuyez sur Haut et ajoutez un xargs commande. Ou utilisez la substitution d'historique et exécutez

!! | xargs vim          # won't work with file names containing \'" or whitespace
!! | xargs -d \\n vim   # GNU only (Linux, Cygwin)

Il existe un moyen léger d'enregistrer la sortie d'une commande qui fonctionne dans ksh et zsh mais pas dans bash (cela nécessite que le côté sortie d'un pipeline soit exécuté dans le shell parent). Pipez la commande dans la fonction K (définition zsh ci-dessous), qui k conserve sa sortie dans la variable $K .

function K {
    K=("${(@f)$(tee /dev/fd/3)}") 3>&1;
}
find … |K
vim $K

L'enregistrement automatique de la sortie de chaque commande n'est pas vraiment possible avec le shell seul, vous devez exécuter la commande dans un terminal émulé. Vous pouvez le faire en exécutant script (un utilitaire BSD, mais disponible sur la plupart des unices, y compris Linux et Solaris), qui enregistre toutes les sorties de votre session via un fichier (il y a encore un peu d'effort nécessaire pour détecter de manière fiable la dernière invite dans le texte dactylographié).


Linux
  1. Rediriger le contenu d'un fichier vers la commande "echo" ?

  2. Obtenir le complément du résultat d'une commande Ls ?

  3. Est-il possible de trouver quel Vim/tmux a ouvert le fichier ?

  4. Quelle est la commande unix pour savoir à quel fichier exécutable correspond une commande donnée ?

  5. Comment ouvrir un fichier dans vim en utilisant pipe

Comment utiliser la commande Linux head

Comment utiliser la commande Linux diff

Comment ouvrir un fichier sous Linux

Afficher le contenu d'un fichier dans la ligne de commande Linux

Comment utiliser la commande Gzip sous Linux ?

La commande de déplacement de fichier Linux - simplifiée !