Skopiuj cały tekst całej strony `man` z Terminal.app

20

Czytam bardzo długą stronę podręcznika man ( man ssh). Chcę zapisać cały ten tekst, aby ułatwić czytanie w edytorze tekstu.

Niestety wybranie jednego z:

  • Edytuj → Wybierz wszystko → Kopiuj

  • Powłoka → Eksportuj tekst jako ...

powoduje zapisanie tylko pełnego ekranu, a nie całego przewijanego tekstu.

Jak wyodrębnić tekst całej manstrony?

Basil Bourque
źródło
Istnieje bezpłatna aplikacja Man Reader innej firmy. Otwiera okno z listą po lewej stronie wszystkich możliwych stron podręcznika. Po wybraniu jeden drukuje zawartość w środkowym okienku. Nieźle.
jmh

Odpowiedzi:

25

Możesz wcisnąć zwykły tekst do schowka, pipetując pbcopy, aby wkleić w dowolnym miejscu, jak zwykle.

man ssh | col -b | pbcopy

lub odpowiednik

man -P "col -b | pbcopy" ssh

ten drugi jest ładniejszy, jeśli chcesz użyć go jako aliasu, na przykład mancp ssh:

alias mancp='man -P "col -b | pbcopy"'

Istnieją metody przejścia na HTML / PDF: Czy strony podręcznika man można przekonwertować na format HTML i / lub PDF?


Jeśli jest to po prostu przyjemniejszy sposób czytania, możesz kliknąć prawym przyciskiem myszy wybrane polecenie i otworzyć jego stronę podręcznika jako osobne okno / kartę, z normalnym przewijaniem i szukaniem ⌘F.

Ładniejsze czytanie

Możesz dostosować to, jak to wygląda, w Preferencjach terminalu → Profile, w profilu strony podręcznika, który jest jednym z domyślnych profili, które istnieją.
Obejmuje to rodzinę i rozmiar czcionki (patrz także menu Widok) oraz kolory tła / pierwszego planu.

Preferencje profilu strony man

grg
źródło
2
Prawe kliknięcie strony podręcznika nie działa z iTerm. Na mojej maszynie działa to trochę z terminalem. Okno migotało chyba 10 razy na sekundę. Mógłbym to zatrzymać, klikając, ale nie wiedziałem, gdzie
klikam
@ jmh Wydaje się, że to błąd Mojave. Ten migotanie też go tutaj dostał
nohillside
1
pbcopyi pbpastesą dwoma najlepszymi narzędziami dostępnymi na Macach.
Christopher Schultz
1
Dzięki! Wszystkie odpowiedzi są pouczające i przydatne, ale musiałem zaakceptować tę. man ssh | col -b | pbcopyRozwiązanie bezpośrednio odnosi się do specyfiki moje pytanie. A potem, niczym wisienka na torcie, wbudowany czytnik strony podręcznika Terminal.app przebija to, aby ułatwić obsługę.
Basil Bourque,
Przydatne rozszerzenie twojego rozwiązania może również obejmować szerokość kolumny i / lub otwarcie jej bezpośrednio w wybranym edytorze tekstowym, np .: MANWIDTH=80 MANPAGER="col -bx" man tmutil | open -fa "TextMate"
Asmus
13

Jeśli chcesz przeczytać stronę podręcznika w wersji zapoznawczej, ładnie sformatowaną jako plik PDF, możesz uruchomić

man -t ssh | open -f -a Preview

Lub

man ssh | col -b | open -f -e

aby otworzyć wersję tekstową w TextEdit.

nohillside
źródło
6

Potokuj standardowe wyjście uruchomionego manpolecenia do wbudowanego colnarzędzia. Uruchom następujący wiersz polecenia:

man ssh | col -b > ssh.txt

Nimesh Neema
źródło
@BasilBourque Znalazłem również ten wspaniały artykuł.
Nimesh Neema,
4

Najlepsze wrażenia z czytania w przypadku tych zadań uzyskuje się, używając do tego dedykowanej aplikacji.

Dwóch kandydatów:

AquaLess

AquaLess to pager tekstowy dla systemu Mac OS X. Umożliwia przeglądanie zwykłych plików tekstowych i - co ważniejsze - tekst z narzędzi wiersza poleceń systemu Unix. AquaLess jest zamiennikiem kakao dla polecenia mniej, które jest ograniczone do okna terminala. AquaLess otwiera osobne okno dla każdego tekstu, dzięki czemu możesz dalej pracować w terminalu podczas czytania.

Lub ManOpen

ManOpen to aplikacja MacOS X GUI do przeglądania stron podręcznika Unix, które są standardową dokumentacją programów wiersza poleceń Unix, bibliotek programistów i innych informacji systemowych. Może otwierać pliki bezpośrednio lub otrzymać tytuły, w takim przypadku wyświetli dane wyjściowe z programu wiersza polecenia `man '. Dostępny jest również interfejs apropos, który jest w zasadzie szybkim i brudnym wyszukiwaniem baz danych stron man. Usługi są dostarczane innym aplikacjom w celu otwierania wybranych plików / tytułów lub wyszukiwania apropos przy użyciu wybranego tekstu. ManOpen może być przydatny do otwierania strony podręcznika bez opuszczania wiersza poleceń, przeglądania i przeszukiwania długich i złożonych stron podręcznika lub po prostu do ich drukowania.

Dołączone jest również narzędzie wiersza polecenia `` openman '', które jest podobne do man, z tym że wyświetla strony man w ManOpen.app zamiast bezpośrednio do terminala.

Lub przeczytaj te strony w Safari? Więc idź Bwana

Pobierz Bwana i upuść ją w folderze aplikacji. Następnie, nawet nie uruchamiając go, możesz rozpocząć przeglądanie stron podręcznika Unixa za pomocą przeglądarki. Po prostu wpisz „man:”, a następnie stronę man, której szukasz, w polu URL przeglądarki. Naciśnij Enter i pozwól Bwana zrobić resztę.

Strony podręcznika generowane przez Bwana są proste i do rzeczy. Po prostu wrzuciliśmy trochę koloru, trochę odważnych nagłówków i trochę wyczyściliśmy, więc są przyjemne dla oka. W rzeczywistości Bwana jest taka prosta - niewiele więcej możemy o tym powiedzieć. Wystarczy pobrać teraz Bwana, aby zobaczyć, jak łatwo integruje się ona z przeglądarką i jaką różnicę robi podczas przeglądania stron podręcznika.

Następnie możesz zbudować dla niego funkcję powłoki w następujący sposób:

function sman
    open -a Bwana man:$1
end

Dla kompletności: jeśli masz zainstalowany X11, to również masz xman.

Innymi kandydatami mogą być Man Reader ($) , Manpager , Manpower ($) , Man Viewer .

LаngLаngС
źródło
3

Po co komplikować sprawy?

https://man.openbsd.org/ssh

Ponieważ możesz pisać tutaj, oczywiście masz dostęp do Internetu.

Jeśli szukasz trochę Google, prawdopodobnie znajdziesz wersje sformatowane na różne sposoby, np. Pdf lub tak dalej.

db
źródło
4
+1 za pragmatyzm, chociaż czasami musisz dowiedzieć się, której wersji strony podręcznika szukasz, czasami (dla różnych narzędzi, w których argumenty wiersza poleceń różnią się między np. Linux i BSD, lub gdzie wiele się zmieniło między wersjami )
puszysty
i oprócz komentarzy @ fluffy, to nie zadziała dla żadnych narzędzi macOS, których jest mnóstwo, np. tmutil dla Time Machine.
grg
1
@grg Tak robi ss64.com/osx/tmutil.html
db
1
To inna strona, do której doszedłeś, wyszukując swój link w poście czy po prostu Google? Wiem, że istnieje wiele stron podręcznika użytkownika online, w tym odnośnik programisty Apple, który rzeczywiście zawiera stronę podręcznika użytkownika tmutil, ale czy ta odpowiedź staje się niczym więcej niż „Google it”?
grg
@grg Mam go od Google. Tak, ale celem pytania było uproszczenie czytania stron podręcznika, a strony internetowe są dobrym sposobem na osiągnięcie tego celu.
db
2

Jeśli podoba Ci się, że masz kopie PDF swoich stron podręcznika, oto funkcja dodana do mojego .bash_profilepliku, aby utworzyć plik PDF każdej komendy BSD. Sprawdziłbym stronę podręcznika pod kątem:

manp () 
{ 
    docDir="$HOME/Documents/BSD Commands"
    [[ ! -d $docDir ]] && mkdir -p "$docDir"
    if [[ ! -f $docDir/$1.pdf ]]; then
        man -t "$1" | pstopdf -i -o "$docDir/$1.pdf"
        open "$docDir/$1.pdf"
    else
        open "$docDir/$1.pdf"
    fi
}

Tak więc, w terminalu , wpisując np manp bashzamiast man bashw PDF zostanie utworzony, jeśli nie już, a następnie otwiera aplikacji zarejestrowanej obsłużyć PDF dokumentów. Domyślny jest podgląd , jednak w moim systemie jest on ustawiony w użyciu chudego , jak jego funkcjonalność wyszukiwania jest lepszy niż podgląd i jako rzeczywistości znajdzie szukany ciąg podczas podglądu po prostu nie będzie.

Zauważ, że przy pierwszym użyciu funkcja wyliczy niektóre czcionki na wyjściu w Terminalu , jednak jest to jednorazowe wyliczenie czcionek.

Zaletą PDF kopii to zachowuje formatowanie, czyli pogrubioną czcionką i kursywą, etc.


Na marginesie, wpisanie tylko nazwy polecenia w Terminalu, a następnie kliknięcie prawym przyciskiem myszy i wybranie Otwórz stronę podręcznika man , wyświetli je w całkowicie przewijalnym i przeszukiwalnym oknie Terminalu , co jest znacznie lepsze niż pisanie np man bash.

użytkownik3439894
źródło