запрос
Я использую Bash. Когда я ищу файлы, часто я делаю следующее:
find -name stackexchange.hs
И часто результаты будут выглядеть так:
/youre/the/man/now/dog/stackexchange.hs
/you/are/no/longer/the/dog/dog/stackexchange.hs
/this/is/the/file/i/want/stackexchange.hs
Тогда я хочу сделать одно из следующего:
- Вариант 1. Откройте последний элемент в списке результатов в vim .
- Вариант 2. Откройте элемент N в списке результатов в vim .
В настоящее время я вырезал и вставлял мышью. Что подводит меня к моему вопросу :
- Есть ли простой однострочный вариант для выполнения вариантов 1 и 2? Обратите внимание , что это происходит после того, как в
findкоманде. - Есть ли способ захвата N-строк из стандартного вывода в некотором виде вектора / массива bash?
Идеальное использование
$ 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)
(синтаксис и семантика могут отличаться, но вы понимаете, в чем дело)
Similaria
Кажется, есть несколько похожих вопросов. Вот мои предполагаемые различия (я открыт для просветления):
- «Open File Найдено с помощью функции поиска Команда» фокусируется на создании одной линии с трубой имя файла из
findвvim(или любой другой ). В моем случае я хочуfindсначала, трубу позже (так сказать). Мой захват / использование происходит строго после . - «Повторное использование последнего вывода из Command Lind» выглядит чересчур, но, похоже, просто повторяет команду и не говорит о захвате N-й строки вывода. Откровенно говоря, это пугает меня.
- «Захват многострочного вывода Bash Builtin» близок, но не совсем там.
- «В чем разница между терминалом, оболочкой, tty, консолью и т. Д.» это действительно просто хорошее чтение.
Спасибо за помощь! Воспользовавшись * nix / BSD, когда я был подростком в 90-х годах, и испугался, позвонив своему соседу, утомленному кислотой, чтобы помочь мне установить драйверы для моей звуковой карты «подключи и работай», я с облегчением обсудил мелочи линии с (заметно) менее пугающими людьми. Приятно вернуться.
vim $(command |tail -n1).