Jak skopiować tekst konsoli poleceń?

13

Użyłem polecenia wpa_passphrase i otrzymuję coś takiego:

network = {ssid = "blahblah" # psk = "moreblahblah" psk = d5e532ecca53ea963e5b3b5521bb3682c53fcf5b6d55f15622027145c795b661}

Muszę skopiować ten „psk = [długi ciąg]” do mojego pliku wpa_supplicant.conf. Jak mogę go wybrać, aby go skopiować? A następnie, z jakiego polecenia go skopiować? Tak, że w moim ulubionym edytorze tekstu mogę nacisnąć polecenie wklej, aby je wkleić? (ps. Nie mam myszy)

Shawn de Wet
źródło

Odpowiedzi:

21

jeśli masz touchpad, zaznacz tekst i naciśnij Ctrl+ Shift+, Caby skopiować ...

następujące zasoby opisują sposób kopiowania / wklejania tylko za pomocą klawiatury - screen / byobu:

Jak zintegrować bufor kopiowania Byobu ze schowkiem X?

http://www.samsarin.com/blog/2007/03/11/gnu-screen-working-with-the-scrollback-buffer/

Kopiuj i wklej w trybie przewijania (screen / byobu)

  • Wejdź w tryb przewijania: Ctrl+ A+ [lub również w ByobuF7
  • Przesuń kursor na początek tekstu, który chcesz skopiować, naciśnij spacebar
  • Przesuń kursor na koniec tekstu, który chcesz skopiować, i naciśnij enter
  • Aby wkleić tekst, naciśnij Ctrl+ A+ ]lub Alt+Insert
rodzaj
źródło
10
Ta informacja nie jest całkiem odpowiednia dla byobu. Skopiuj w byobu to Spacja, a następnie Enter, zgodnie z instrukcją byobu . W ten sposób nieznacznie różni się od ekranu. Wspominam o tym tylko tutaj, ponieważ ten wpis ma bardzo wysoką pozycję w Google pod względem „kopiuj / wklej w byobu”.
philo
2

Spróbuj tego:

wpa_passphrase | awk '/psk/ {print $4}' >> wpa.supplicant.conf

Polecenie powinno wyjąć część „psk = d5e532ecca53ea963e5b3b5521bb3682c53fcf5b6d55f15622027145c795b661” i skopiować ją na koniec pliku wpa.supplicant.conf. Spróbuj zmienić $4na $3lub $2jeśli nie otrzymasz właściwej części polecenia wpa_passphrase.

Joern Franz
źródło
1

Może nie być doskonały, ale obejście. Być może możesz zapisać wynik w pliku, a następnie przejść do pliku, usunąć niepotrzebny tekst i używając go, catmożesz dołączyć go do wpa_supplicant.conf

Zasadniczo Twój przepływ pracy to:

command > rough

nano rough tutaj usuń niepotrzebny tekst i zachowaj tylko te niezbędne, np. psk

sudo sh -c "cat rough >> wpa_supplicant.conf"

Być może możesz użyć vima do wyrwania wymaganego tekstu, wybierając go w trybie wizualnym.

PS Ktoś z dobrą znajomością sed dałby ci łatwiejsze rozwiązanie niż myślę.

sagarchalizować
źródło
sudo sh ...poleceń można zapisać jako: cat rough | sudo tee -a wpa_supplicant.conf.
Lekensteyn
@ Lekensteyn I cat rough |można go zastąpić < rough.
Melebius
1

Oczywiście najczęstszym sposobem na to byłoby użycie myszy lub innego urządzenia wskazującego (takiego jak touchpad). Chociaż jest to nieco ekscentryczne, możliwe jest kopiowanie tekstu bez myszy. (Możesz oczywiście mieć uzasadniony powód, aby nie używać urządzenia wskazującego.) Sprawdź xclip, jak w tej odpowiedzi . W ten sposób możesz użyć:

wpa_passphrase | xclip -sel clip
Loevborg
źródło
0

Następne polecenie sed pobierze klucz (który składa się ze znaków z zestawu szesnastkowego) z danych wyjściowych wpa_passphrasei umieści go w pliku tymczasowym pass.

wpa_passphrase | sed 's/.*psk=\([0-9a-f]*\).*/\1/' > pass

Ponieważ nie masz myszy, nie możesz jej po prostu wybrać i skopiować. Do nanowstawienia tego hasła użyjemy edytora tekstu:

nano wpa_suppliciant.conf

Przejdź do wybranej lokalizacji za pomocą klawiszy strzałek i naciśnij Insert. Wpisz nazwę właśnie utworzonego pliku pass, a następnie Enter. Wyjdź i zapisz wynik, naciskając Ctrl+ Xi potwierdź go, wprowadzając Yi Enter.

Lekensteyn
źródło
0

Możesz ustawić przypisanie klawiszy w byobu, aby móc wysyłać tekst zaznaczony w buforze byobu do schowka X.

Dodaj następujące elementy do ~/.byobu/keybindings

# Add cool line to make copying to x clipboard possible.
# This binds C-a b to copy screen's copy buffer to the system clipboard.
bind b eval writebuf 'exec /bin/sh -c "xsel -i < $BYOBU_RUN_DIR/printscreen"'

Następnie po użyciu zwykłego F7, przesuń, spacja, aby rozpocząć wybieranie, przesuń, wprowadź, aby zapisać w buforze, a następnie możesz użyć C-a b(Ctrl-a, a następnie b), aby zapisać go do schowka

(Na podstawie https://dodoincfedora.wordpress.com/2012/06/23/integrating-byobuscreens-copy-buffer-with-xgnome-clipboard/ )

AntonPiatek
źródło