Pytanie
Używam Bash. Kiedy szukam plików, często wykonuję następujące czynności:
find -name stackexchange.hs
I często wyniki będą wyglądać następująco:
/youre/the/man/now/dog/stackexchange.hs
/you/are/no/longer/the/dog/dog/stackexchange.hs
/this/is/the/file/i/want/stackexchange.hs
Następnie chcę wykonać jedną z następujących czynności:
- Opcja 1: Otwórz ostatni element na liście wyników w vimie .
- Opcja 2: Otwórz n-ty element na liście wyników w vimie .
Obecnie wycinam i wklejam za pomocą myszy. Co prowadzi mnie do mojego pytania :
- Czy istnieje łatwy, jednoliniowy sposób na wykonanie opcji 1 i 2? Zauważ, że to dzieje się po tym
find
poleceniu. - Czy istnieje sposób na uchwycenie linii N ze standardowego wejścia w jakimś wektorze / tablicy bash?
Idealne wykorzystanie
$ 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)
(składnia i semantyka mogą się różnić, ale masz rację)
Likeia
Wydaje się, że istnieje kilka podobnych pytań. Oto moje postrzegane różnice (jestem otwarty na oświecenie):
- „Open File Found with find Command” koncentruje się na utworzeniu jednego wiersza, z którego można potokować nazwę pliku
find
dovim
(lub cokolwiek). W moim przypadkufind
najpierw chcę , a później, że tak powiem, potokować. Moje przechwytywanie / użycie odbywa się ściśle później . - „Reuse Last Output From Command Lind” wydaje się uderzające, ale wydaje się po prostu powtarzać polecenie i nie mówi o przechwytywaniu N-tej linii wyniku. Szczerze mówiąc, to mnie przeraża.
- „Capture Multi-Line Output of Bash Builtin” jest blisko, ale nie całkiem.
- „Jaka jest dokładna różnica między terminalem, powłoką, tty, konsolą itp.” ten jest naprawdę po prostu dobrą lekturą.
Dziękuję za pomoc! Korzystając z * nix / BSD, kiedy byłem nastolatkiem w latach 90. i przestraszyłem się, dzwoniąc do mojego wypalonego sąsiada, który pomógł mi zainstalować sterowniki do mojej karty dźwiękowej plug-and-play, z ulgą omawiam polecenia drobiazgi z (zauważalnie) mniej przerażającymi osobami. Dobrze jest wrócić.
vim $(command |tail -n1)
.