Când grep pagina de manual a comenzii find
se potrivește cu type
returnează o mulțime de rezultate ale căutării pe care nu le doresc. În schimb, vreau să folosesc o comandă care returnează numai rezultatele căutării pentru -type
.
Comanda man find | grep -type
nu funcționează. Revine:
grep: invalid option -- "t"
Comentarii
Răspuns
Dacă doriți să grep pentru un model care începe cu o cratimă, utilizați --
înainte de modelul pe care îl specificați.
man find | grep -- -type
Dacă doriți mai multe informații, de exemplu întreaga secțiune care descrie o opțiune , ați putea încerca să utilizați Sed:
$ 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.
Cu toate acestea, acest lucru nu va funcționa pentru fiecare opțiune pe care ați putea să o căutați. De exemplu, :
$ man find | sed -n "/^[[:space:]]*-type/,/^$/p" -type c File is of type c:
Nu este foarte util. Mai rău, pentru unele opțiuni ați putea fi înșelați să credeți că „ați citi întregul text despre opțiune atunci când nu ați avut cu adevărat” t. De exemplu, căutarea -delete
omite AVERTISMENTUL foarte important conținut ca un paragraf al doilea sub titlul respectiv.
My recomandarea este să utilizați un apel standard către man
cu LESS
set de variabile de mediu. Îl folosesc destul de frecvent în răspunsurile mele de pe acest site.
LESS="+/^[[:space:]]*-type" man find
Pentru a afla mai multe despre cum funcționează acest lucru, consultați:
LESS="+/^[[:space:]]*LESS " man less LESS="+/\+cmd" man less LESS="+/\/" man less
Dacă doriți doar să găsiți opțiunea rapid și interactiv în pagina manuală, învățați să utilizați funcțiile de căutare less
„. Și vezi și:
Comentarii
- Vă mulțumim că ați postat. Comenzile din răspunsul dvs. au returnat rezultatele pe care le căutam. Voi accepta un răspuns după o zi sau două, deci te rog să ai răbdare.
- @karel, nicio problemă, ' sunt foarte răbdător. 🙂 Un pic nedumerit, totuși: știu că poți nu începeți o recompensă pentru o întrebare timp de două zile, dar cred că termenul limită înainte de a putea accepta un răspuns este de aproximativ 15 minute.
-
man find | sed -n '/-type/,/^$/p'
oferă mult mai mult decât ceea ce ați postat se va potrivi cu-type
oriunde în linie … lucrez eu la un script mic pentru a căuta omul sau pentru a ajuta (pentru builtin) și folosesc în prezentawk
care mai are puține ciudățenii de rezolvat ..awk -v RS= -v rx="^\\\s*$arg\\\>" '$0 ~ rx' "$file"
undearg
ar fi-type
în în acest caz - BTW, @Sundeep, poate doriți să încercați să analizați fișierele
troff
care conțin informațiile originale ale paginii man cu informații despre format, în loc de ieșirea textului a comenziiman
. - @Sundeep, aici ' este punctul de plecare pentru dvs. . (Asigurați-vă că urmați legătura din răspunsul respectiv.) Există ' MULTE de aflat despre
troff
. Pipe-mă în chat când termini să scufunzi în gaura de iepure. 🙂
Răspuns
Sau trimiteți la less
și alimentați că un termen de căutare:
man 1 find | less -p " -type"
(Acest lucru poate eșua în funcție de exact ceea ce less
este alimentat, de exemplu, dacă -type
a fost îngroșat cu backspaces.)
Comentarii
- Introduceți-l prin
col -bx
mai întâi.
-type
, sau doriți, să zicem, întregul paragraf sau două care descriu ceea ce face-type
?-type
ar fi suficientă pentru modul în care caut de obicei paginile man întregul paragraf sau două care descriu ceea ce face-type
ar fi foarte util să se facă cel puțin o dată.-type
opțiunea nu.