Anteckning: Söka efter text i man-sidor

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2004-03-06 20:30

Terminal-tips:
man-sidor (manualer till UNIX-kommandon) kan vara både långa och oberipliga (oftast båda). Ett enkelt sätt att snabbt hitta till avsnitt som innehåller en viss text ät att använda sig av sökfunktionen i 'man'.

Exempel:

Skriv: 'man ls' i Terminal

('ls' är ett kommando (program) för att lista filer/mapper.)

Om du t.ex. vill veta mer om hur 'ls' hanterar färger i stout (standard out), söker du efter strängen 'ANSI' (_A_merican _S_tandard...).

'Shift-7' tar oss till sökfunktionen i 'man'.

Ett '/'-tecken visas längst ner till vänstar på man-sidan.

Skriv sedan 'ANSI' (man är case sensetive) och tryck 'Return'.

Mums! All 'ANSI'-text blir highlighted.

Myckat andvändbart, vill jag påstå.

Det där är ingen funktionalitet som ligger i man-programmet, utan det gäller för programmet less. Det enda som programmet "man" gör är att packa upp och formatera texten, och sedan pipas allting till valfritt bläddringsprogram. Det är med andra ord inte "man" som man interagerar med när man läser man-sidor. Det program som används bestäms av miljövariabeln $PAGER, och om den är odefinierad använder man sig av "less -Rse".

Eftersom "less" är det förinställda programmet ska man alltså läsa manualen till less för att lära sig hur man navigerar igenom man-sidor. Men för de som inte ids göra det så kommer några bra kommandon här:

  • Visa en lista över alla kommandon: h

  • Förflyttning en sida framåt resp. bakåt: f resp. b

  • Gå till början: ESC-<

  • Gå till slutet: ESC->

  • Sökning framåt: /sökord

  • Sökning bakåt: ?sökord

  • Upprepa sökning framåt resp. bakåt: n resp. N

Tycker man att det är ett problem att less gör skillnad på stor och liten bokstav kan man starta less med parametern -i; då görs ingen skillnad på stor och liten bokstav förutom om man använder versaler i en söksträng. För att få den funktionaliteten när man läser man-sidor ska man alltså sätta ett värde på $PAGER så att less startas med parametern -i. Kör man tcsh gör man så här:

setenv PAGER 'less -Rsei'

...och kör man bash blir det så här man gör:

export PAGER='less -Rsei'

  • Medlem
  • International user
  • 2004-03-06 21:17
Ursprungligen av Samuel K:

Det där är ingen funktionalitet som ligger i man-programmet...

Tack, hade lite aning om detta. Men nu vet jag mer. Mer sånt tack!

  • Medlem
  • International user
  • 2004-03-06 21:11

less or more. Who cares? Så att säga. Min 'tutorial' var för dom som vill hitta text i 'man'.

Ursprungligen av Wire:

less or more. Who cares? Så att säga. Min 'tutorial' var för dom som vill hitta text i 'man'.

Jag tycker snarare att det var ganska relevant att poängtera att den funktionaliteten ligger i ett annat program, eftersom det underlättar för andra att hitta ännu mer information om hur man navigerar igenom man-sidor. Men OK, det är absolut inget fel med din synvinkel heller och jag hoppas att du inte tog illa upp.

Att "man" är förståndigt nog att inte sköta läsnings-/navigeringsbiten självt är egentligen en ganska kraftfull finess. Om man vill kan man använda denna funktionalitet till att exempelvis få ett anrop till "man" att i stället skicka snyggt formaterade sidor direkt ut ur laserskrivaren, eller vad man nu kan tänkas hitta på för kul.

  • Medlem
  • Stockholm
  • 2004-04-15 19:04

Annars kan man ju alltid öppna man-sidan i Förhandsgranskning och söka efter text där. Tipset är hämtat från engelska MacWorld.

Först skapar man en Postscriptfil med hjälp av -t flaggan. När man öppnar .ps-filen i Förhandsgranskning konverteras den till pdf. (Alla filer i /tmp katalogen raderas vid uppstart)
exempel:
man -t ssh > /tmp/ssh.ps
open /tmp/ssh.ps

1
Bevaka tråden