Za pomocą polecenia przykładowego
man apropos > outputfile
generowany jest plik tekstowy, który zawiera sformatowaną man
stronę apropos
(z pewnymi niewielkimi różnicami w odniesieniu do man apropos
bezpośrednio drukowanych na ekranie, takich jak pogrubione znaki).
Chciałbym jednak ręcznie ustawić maksymalną szerokość linii generowanego pliku wyjściowego, aby wszystkie akapity były wyrównane do tej szerokości.
man
strony są tworzone przez groff
: na przykład próbowałem umieścić .ll 50
przed akapitem oryginalnego .gz
man
źródłowego pliku tekstowego, ale jest to trywialne, jeśli muszę pracować na kilku man
stronach. Ponadto nie wszystkie znaki są rozpoznawane:
apropos.1:45: warning: can't find character with input code 195
apropos.1:45: warning: can't find character with input code 168
apropos.1:47: warning: can't find character with input code 178
apropos.1:131: warning: can't find character with input code 169
Zastanawiam się więc, czy istnieje bardziej prosta metoda. Jak zmodyfikować maksymalną szerokość linii podczas tworzenia outputfile
? Czy jest jakieś konkretne polecenie?
Edytuj :
(Wszystkie poniższe uwagi dotyczą Ubuntu 18.04: Nie mogę ich więcej testować w poprzednich wersjach, w tym 14.04 powyższego pytania.)
Jeśli chodzi o tymczasowe jednowierszowe rozwiązanie, jeśli MANWIDTH
nie zostało jeszcze wyeksportowane z wartością niestandardową, nie ma między nimi żadnej różnicy
$ MANWIDTH=60 man apropos > outputfile
i
$ COLUMNS=60 man apropos > outputfile
Pierwszy z nich MANWIDTH
jest jednak zasadniczo lepszy.
Edycja 2 (nie ściśle związana z pytaniem):
Aby zamiast tego ustawić stałe ustawienie szerokości, które ma być zastosowane do każdego wydruku strony, konieczne jest wyeksportowanie pożądanej wartości zmiennej. Z:
$ export MANWIDTH=60
# zero or more additional lines
$ man apropos > outputfile
man apropos
zostanie wydrukowany z tą samą szerokością, niezależnie od zmiany rozmiaru okna terminala. Zamiast,
$ export COLUMNS=60
# zero or more additional lines
$ man apropos > outputfile
zapewni taki sam wynik jak poprzednio tylko wtedy, gdy okno terminala nie zostanie przeskalowane pomiędzy export
i man <page> > outputfile
.
man man
2.6.7.1). Strona podręcznika jest w języku włoskim i jest to UTF-8. Co rozumiesz przez ustawienia regionalne?
locale
? i locale charmap
?
locale
wyjście: LANG=it_IT.UTF-8 LANGUAGE= LC_CTYPE="it_IT.UTF-8" LC_NUMERIC="it_IT.UTF-8"
locale charmap
wyjście:UTF-8
less
ponieważ TERM
nie jest ustawiony. Miałem na myśli env -i LANG=it_IT.UTF-8 man apropos > output
(lub | head
).
input code
błędów195 168
może być w UTF-8. Czy strona podręcznika jest w języku angielskim? Jaka jest implementacja twojego człowieka? Jakie są twoje ustawienia regionalne?