Puoi usare la sostituzione del comando:
vim $(find -name somefile.txt)
o
find -name somefile.txt -exec vim {} \;
Prova questo:
- avvia vim
- in vim, usa quanto segue:
:r!find /<path> -name 'expression'
I risultati dovrebbero apparire in vim quando la ricerca è completa.
Oppure
Prova:
find /<path> -name > results.txt
vim results.txt
Se non ti dispiace eseguire di nuovo il comando:premi Su e aggiungi un xargs
comando. Oppure usa la sostituzione della cronologia ed esegui
!! | xargs vim # won't work with file names containing \'" or whitespace
!! | xargs -d \\n vim # GNU only (Linux, Cygwin)
C'è un modo leggero per salvare l'output di un comando che funziona in ksh e zsh ma non in bash (richiede che il lato output di una pipeline sia eseguito nella shell genitore). Pipetta il comando nella funzione K
(definizione zsh sotto), che k eeps il suo output nella variabile $K
.
function K {
K=("${(@f)$(tee /dev/fd/3)}") 3>&1;
}
find … |K
vim $K
Il salvataggio automatico dell'output di ciascun comando non è realmente possibile con la sola shell, è necessario eseguire il comando in un terminale emulato. Puoi farlo eseguendo all'interno di script
(un'utility BSD, ma disponibile sulla maggior parte degli unice inclusi Linux e Solaris), che salva tutto l'output della tua sessione tramite un file (c'è ancora un po' di sforzo necessario per rilevare in modo affidabile l'ultimo prompt nel dattiloscritto).