Semelhante a @coffeeMug, esta é a maneira mais atualizada de fazer isso, já que aparentemente é mais rápida:
find . -name "*.log" -exec ls -l '{}' +
Eu também vou te apontar para CommandLineFu , que é sempre útil com essas coisas.
Em muitos casos, depois de encontrar um arquivo usando o comando find
, quero abrir o arquivo ou criá-lo ou talvez imprimi-lo. Como posso operar no resultado do achado? Por exemplo,
: find . -name "myfile.txt"
./docs/myfile.txt
: find . -name "myfile.txt" | less
não funciona porque alimenta a string "./docs/myfile.txt" para menos, não o conteúdo do arquivo no caminho especificado.
Semelhante a @coffeeMug, esta é a maneira mais atualizada de fazer isso, já que aparentemente é mais rápida:
find . -name "*.log" -exec ls -l '{}' +
Eu também vou te apontar para CommandLineFu , que é sempre útil com essas coisas.
less $(find . -name myfile.txt)
less 'find . -name myfile.txt'
O primeiro é, acredito, compatível com POSIX e aninhado. O segundo, acredito, é mais portátil.
Você pode conseguir isso usando o sinalizador -exec
do anúncio:
find . -name "*.log" -exec ls -l '{}' \;
Neste exemplo, encontrar pesquisas para todos os arquivos de log no diretório atual e, em seguida,
liste-os usando ls -l
. No seu caso, você deve substituir ls
por less
.
Veja a seção ACTION da página man do achado aqui página do manual do find (1) .
Não há como capturar automaticamente a saída do comando anterior (não em qualquer ambiente normal). Mas se você selecionar manualmente a saída com o mouse, então você pode executar
less 'xsel'
ou, se a saída contiver espaços ou caracteres curinga e você não estiver executando zsh,
less "'xsel'"
Se você não se importar em executar o comando novamente, pressione Acima e adicione less '
no início da linha e '
no final (ou less "'
no início da linha a linha e '"
para lidar com espaços no bash ou ksh).
Tags command-line find output shell