Запит
Я використовую 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: Відкрийте останній елемент у списку результатів in vim .
- Варіант 2: Відкрийте N-й елемент у списку результатів in vim .
В даний час я вирізаю і вставляю мишу. Що підводить мене до мого питання :
- Чи є легкий однолінійний варіант для виконання варіантів 1 і 2? Зверніть увагу , що це відбувається після того, як в
findкоманді. - Чи є спосіб зафіксувати N-рядки з stdout в якомусь баш-векторі / масиві?
Ідеальне використання
$ 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)
(синтаксис і семантика можуть відрізнятися, але ви розумієте)
Симілярія
Схоже, є кілька подібних питань. Ось мої сприйняті відмінності (я відкритий до просвітлення):
- «Open File Знайдено з допомогою функції пошуку Команда» фокусується на створенні однієї лінії з трубою ім'я файлу з
findвvim(або будь-який інший ). У моєму випадку я хочуfindспочатку подати трубу пізніше (так би мовити). Моє захоплення / використання відбувається строго після . - "Повторне використання останнього виводу з командного контуру" здається нахилом, але, здається, просто повторює команду і не говорить про захоплення N-го рядка виводу. Відверто кажучи, це мене лякає.
- "Захоплення багатолінійного виходу Bash Builtin" близько, але не зовсім там.
- "Яка точна різниця між терміналом, оболонкою, tty, консоллю тощо" цей справді просто добре прочитаний.
Дякую за твою допомогу! Використовуючи * nix / BSD, коли я був підлітком у 90-х, і злякався, зателефонувавши моєму вигоранню, кислотному голові сусіда, щоб допомогти мені встановити драйвери для моєї звукової карти підключення і відтворення, я полегшу обговорити команду- рядкові деталі з (мабуть) менш лякаючими особами. Відчуває себе добре повернутися.
vim $(command |tail -n1).