Kun tartun find -komennon man-sivulle vastaa type, se palauttaa paljon hakutuloksia, joita en halua. Sen sijaan haluan käyttää komentoa, joka palauttaa vain hakutulokset haulle -type.

Komento man find | grep -type ei toimi. Se palauttaa:

grep: invalid option -- "t" 

kommentit

  • Haluatko vain alustetun man-sivun yksittäiset rivit jotka sisältävät merkkijonon -type, vai haluatko sanoa koko kappaleen tai kaksi, joka kuvaa mitä -type tekee?
  • Haluan tietää, miten se tehdään molempiin suuntiin. Käyttäen merkkijonon -type sisältäviä yksittäisiä rivejä riittäisi tapaan, jolla haen yleensä man-sivuja, mutta palaan koko kappale tai kaksi, joka kuvaa mitä -type tekee, olisi erittäin hyödyllistä tehdä ainakin kerran.
  • BTW, jos verkkosivun katselu on vaihtoehto, Idan Kamara osoitteessa selityshell.com on tehnyt hienoa työtä poimimalla manuaalisten sivujen osat, jotka kuvaavat komentovaihtoehtoja. Katso esimerkiksi selittäähell.com/explain?cmd=find+-type+f nähdäksesi mitä -type -vaihtoehto.

Vastaa

Jos haluat napata yhdysmerkillä alkavan kuvion, käytä -- ennen määrittämääsi mallia.

man find | grep -- -type 

Jos haluat lisätietoja, esimerkiksi koko vaihtoehtoa kuvaava osio , voit kokeilla Sed: n käyttöä:

$ man find | sed -n "/-mindepth/,/^$/p" -mindepth levels Do not apply any tests or actions at levels less than levels (a non-negative integer). -mindepth 1 means process all files except the command line arguments. 

Tämä ei kuitenkaan toimi kaikille vaihtoehdoille, joita etsit. Esimerkiksi :

$ man find | sed -n "/^[[:space:]]*-type/,/^$/p" -type c File is of type c: 

Ei kovin hyödyllinen. Pahempaa, joissakin vaihtoehdoissa saatat harhaan ajattelemalla, että luisit koko vaihtoehdon tekstin, kun et todellakaan ollut. t. Esimerkiksi haku -delete jättää pois erittäin tärkeän VAROITUKSEN, joka sisältyy toiseen kappaleeseen kyseisen otsikon alle.


Oma Suositus on käyttää tavallista kutsua numeroon man LESS -ympäristömuuttujan kanssa. Käytän sitä melko yleisesti tämän sivuston vastauksissa.

LESS="+/^[[:space:]]*-type" man find 

Jos haluat lisätietoja tämän toiminnasta, katso:

LESS="+/^[[:space:]]*LESS " man less LESS="+/\+cmd" man less LESS="+/\/" man less 

Jos haluat vain löytää vaihtoehdon nopeasti ja vuorovaikutteisesti man-sivulta, opi käyttämään less” -hakuominaisuuksia. katso myös:

Kommentit

  • Kiitos lähettämisestä. Vastauksessasi olevat komennot palauttivat etsimäni tulokset. Hyväksyn vastauksen parin päivän kuluttua, joten ole kärsivällinen.
  • @karel, ei hätää, olen ' erittäin kärsivällinen. 🙂 Hieman hämmentynyt kuitenkin: Tiedän, että voit ' älä aloita kysymykseen palkkioita kahden päivän ajan, mutta uskon, että vastauksen hyväksymisaika on vain noin 15 minuuttia.
  • man find | sed -n '/-type/,/^$/p' antaa paljon enemmän kuin mitä lähetit vastaa -type missä tahansa rivissä … työskentelen itse pienen käsikirjoituksen parissa etsimään miestä tai apua (sisäänrakennetulle) ja käytän tällä hetkellä awk jonka ratkaisemiseen on vielä muutama oivallus. awk -v RS= -v rx="^\\\s*$arg\\\>" '$0 ~ rx' "$file" missä arg olisi -type tässä tapauksessa
  • BTW, @Sundeep, sinun kannattaa yrittää jäsentää taustalla olevia troff -tiedostoja, jotka sisältävät alkuperäisen man-sivun tiedot ja muotoilutiedot tekstilähdön sijaan man -komennon.
  • @Sundeep, tässä ' s lähtökohta sinulle . (Muista seurata vastauksen linkkiä.) Siellä ' on PALJON tietää troff. Ping minut chatiin, kun olet sukeltanut kaninreikää pitkin. 🙂

Vastaa

Tai lähetä viesti less ja syötteeseen että hakutermi:

man 1 find | less -p " -type" 

(Tämä voi epäonnistua riippuen siitä, mitä less syötetään, esim. jos -type on lihavoitu askelpalautimilla.)

Kommentit

  • Vedä se läpi col -bx ensin.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *