Amikor megfogom a find parancs man oldalát egyezik a type kifejezéssel, sok olyan keresési eredményt ad vissza, amelyet nem szeretnék. Ehelyett egy olyan parancsot akarok használni, amely csak a eresési eredményeket adja vissza a -type.

A man find | grep -type parancs nem működik. Visszatér:

grep: invalid option -- "t" 

Megjegyzések

  • Csak a formázott kézikönyv egyes sorait szeretné amelyek tartalmazzák az -type karakterláncot, vagy mondjuk a teljes vagy két bekezdést akarja leírni, amit -type csinál?
  • Szeretném tudni, hogyan kell ezt mindkét irányban megtenni. Az -type karakterláncot tartalmazó egyes sorok megragadása elég lenne ahhoz, hogy általában a man oldalakon keresgéljek, de visszatérek az egész vagy két bekezdés, amely leírja, mit csinál -type, nagyon hasznos lenne legalább egyszer megtenni.
  • BTW, ha a weblap megtekintése alternatívát jelent, Idan Kamara a seleahell.com címen nagyszerű munkát végzett a parancsoldalakat leíró man oldalak kibontásával. Lásd például: magyarázza a hell.com/explain?cmd=find+-type+f , hogy lássa, mi a -type opcióval.

Válasz

Ha kötőjellel kezdődő mintára akarsz grepelni, akkor a -- a megadott minta előtt.

man find | grep -- -type 

Ha további információra van szüksége, például az opciót leíró teljes szakaszra , megpróbálhatja kipróbálni a Sed alkalmazást:

$ 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. 

Ez azonban nem fog működni minden olyan lehetőségnél, amelyre kereshet. Például :

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

Nem túl hasznos. Ráadásul egyes lehetőségeknél félrevezethetné, ha azt gondolná, hogy “akkor olvassa el az opció teljes szövegét, amikor még nem volt” t. Például a -delete keresés elhagyja a nagyon fontos FIGYELMEZTETÉST, amely második bekezdésként szerepel az adott címsor alatt.


Saját ajánlás egy szabványos hívás használata a man címre a LESS környezeti változó halmazával. Elég gyakran használom a webhelyemre adott válaszaimban.

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

Ha többet szeretne megtudni ennek működéséről, lásd:

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

Ha csak gyorsan és interaktívan szeretné megtalálni az opciót a man oldalon, tanulja meg használni a less” keresési képességeit. És lásd még:

Megjegyzések

  • Köszönjük, hogy közzétetted. A válaszodban szereplő parancsok megadták azokat az eredményeket, amelyeket kerestem. Egy-két nap múlva elfogadom a választ, tehát kérlek, légy türelmes.
  • @karel, semmi gond, én ' nagyon türelmes vagyok. 🙂 Kicsit zavartan mégis: Tudom, hogy tudsz ' két napig ne kezdjen fejdíjat egy kérdésre, de úgy gondolom, hogy a válasz elfogadása csak körülbelül 15 perc.
  • man find | sed -n '/-type/,/^$/p' sokkal többet ad, mint amit közzétettél illeszkedik a -type bárhova a sorban … én magam dolgozom egy kis szkripten, hogy embert vagy segítséget keressek (a beépítetthez), és jelenleg a awk amely még mindig kevés furcsaságot tud megoldani. awk -v RS= -v rx="^\\\s*$arg\\\>" '$0 ~ rx' "$file" ahol arg -type lenne ez az eset
  • BTW, @Sundeep, érdemes kipróbálnia a szövegkimenet helyett az alapul szolgáló troff fájlok elemzését, amelyek az eredeti kézikönyv információkat tartalmazzák formátum információkkal. a man parancsból.
  • @Sundeep, itt ' s a kiindulópont az Ön számára . (Feltétlenül kövesse a válaszban található linket.) ' SOKKOT kell tudni troff -ről. Ping engem chat, amikor befejezi a búvárkodás a nyúl lyuk. 🙂

Válasz

Vagy küldje el a less üzenetet hogy egy keresési kifejezés:

man 1 find | less -p " -type" 

(Ez meghiúsulhat attól függően, hogy pontosan mi a less hírcsatorna, pl. ha -type fel van merítve a visszalépéssel.)

Megjegyzések

  • Vezesse át .

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük