Jak mogę „cat” stronę podręcznika, tak jak „cat” plik, aby uzyskać tylko zrzut zawartości?
Jak mogę „cat” stronę podręcznika, tak jak „cat” plik, aby uzyskać tylko zrzut zawartości?
Odpowiedzi:
Po pierwsze, pliki man są zwykle tylko skompresowanymi plikami tekstowymi gdzieś w twoim systemie plików. Ponieważ twój przebieg będzie różny w ich znajdowaniu i prawdopodobnie chciałeś przetworzonej i sformatowanej wersji, którą daje ci człowiek zamiast źródła, możesz po prostu zrzucić je za pomocą man
narzędzia. Patrząc na man man
, widzę, że możesz zmienić program używany do przeglądania stron podręcznika z -P
flagą w następujący sposób:
man -P cat command_name
Warto też nic, co man
automatycznie wykrywa, kiedy rura jest to wyjście zamiast oglądania go na ekranie, więc jeśli masz zamiar przetwarzać ją na coś innego można przejść bezpośrednio do tego kroku tak:
man command_name | grep search_string
lub zrzucić DO pliku:
man command_name > formatted_man_page.txt
man
aliasu do czegoś lub flag wymuszonych w twojej powłoce, które oddzielają twój od normalnej funkcji man
?
man command_name > formatted_man_page.txt
spowoduje powielenie niektórych słów.
Aby uzyskać plik strony podręcznika ASCII, bez irytujących znaków backspace / podkreślenia i dziwnych sekwencji pogrubienia:
man ksh | col -b > ksh.txt
Strony troff
podręcznika są zwykle plikami wstępnie przetworzonymi i możesz przejść do zwykłego tekstu za pomocą,
groff -t -e -mandoc -Tascii manpage.1 | col -bx > manpage.txt
groff
jest opakowaniem dla troff
.
Może być konieczne użycie gzip do rozpakowania plików stron podręcznika, a nadal będziesz mieć dużo informacji o formatowaniu w danych wyjściowych.
Robię to cały czas. Ten wiersz poleceń sprawia mi przyjemność:
man man | col -bx > man.txt
col -b usuwa spacje.
col -bx również zastępuje tabulatory spacjami, co jest moją silną preferencją.
Jeśli chcę, aby tekst był formatowany zgodnie z moimi preferencjami podczas czytania, zmieniam polecenie na:
MANWIDTH=10000 man man | col -bx > man.txt
man man | col -bx > man.txt
pracował dla mnie. Dziękuję Ci.
Wystarczy użyć man
polecenia - możesz potokować dane wyjściowe do innych rzeczy, tak jak w cat
przypadku pliku.