Inquerir
Eu uso o Bash. Quando procuro arquivos, geralmente faço o seguinte:
find -name stackexchange.hs
E frequentemente os resultados serão parecidos com:
/youre/the/man/now/dog/stackexchange.hs
/you/are/no/longer/the/dog/dog/stackexchange.hs
/this/is/the/file/i/want/stackexchange.hs
Então, eu quero fazer um dos seguintes:
- Opção 1: abra o último item na lista de resultados no vim .
- Opção 2: abra o item enésimo na lista de resultados no vim .
Atualmente, corto e colo com o mouse. O que me leva à minha pergunta :
- Existe uma linha fácil para realizar as opções 1 e 2? Observe que isso está ocorrendo após o
findcomando. - Existe uma maneira de capturar linhas N do stdout em algum tipo de vetor / matriz bash?
Uso ideal
$ find -name am_i_really_all_alone.txt
./borges/library/you_are_not_alone.txt
./borges/library/am_i_really_all_alone.txt
$ vim (N)
(sintaxe e semântica podem ser diferentes, mas você entende)
Similaria
Parece haver várias perguntas semelhantes. Aqui estão minhas diferenças percebidas (estou aberto à iluminação):
- "Abrir arquivo encontrado com o comando find" se concentra na criação de uma linha para canalizar um nome de arquivo
findparavim(ou o que for). No meu caso, querofindprimeiro, canalizar mais tarde (por assim dizer). Minha captura / uso acontece estritamente depois . - "Reutilizar a última saída do comando Lind" parece estridente, mas parece simplesmente repetir o comando e não fala em capturar a enésima linha de saída. Francamente, isso me assusta.
- "Capturar saída em várias linhas de um Bash Builtin" está próximo, mas não está lá.
- "Qual é a diferença exata entre terminal, shell, tty, console etc." este é realmente apenas uma boa leitura.
Obrigado pela ajuda! Depois de usar o * nix / BSD quando eu era adolescente nos anos 90 e me assustar ao ligar para meu vizinho esgotado e com cabeça ácida para me ajudar a instalar drivers para minha placa de som plug-and-play, fico aliviado ao discutir minúcias de linha com indivíduos (notavelmente) menos assustadores. É bom estar de volta.
vim $(command |tail -n1).