Quando grep la pagina man del comando find
per corrisponde a type
restituisce molti risultati di ricerca che non voglio. Vorrei invece utilizzare un comando che restituisca solo i risultati della ricerca per -type
.
Il comando man find | grep -type
non funziona. Restituisce:
grep: invalid option -- "t"
Commenti
Risposta
Se vuoi grep per un modello che inizia con un trattino, usa --
prima del pattern specificato.
man find | grep -- -type
Se desideri maggiori informazioni, ad esempio lintera sezione che descrive unopzione , potresti provare a utilizzare 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.
Tuttavia, questo non funzionerà per ogni opzione che potresti cercare. Ad esempio :
$ man find | sed -n "/^[[:space:]]*-type/,/^$/p" -type c File is of type c:
Non molto utile. Peggio ancora, per alcune opzioni potresti essere indotto a pensare che “avresti letto lintero testo sullopzione quando davvero non lhai fatto” t. Ad esempio, la ricerca di -delete
omette limportantissimo AVVISO contenuto come secondo paragrafo sotto quellintestazione.
Il mio si consiglia di utilizzare una chiamata standard a man
con la variabile di ambiente LESS
impostata. Lo uso abbastanza comunemente nelle mie risposte su questo sito.
LESS="+/^[[:space:]]*-type" man find
Per ulteriori informazioni su come funziona, vedere:
LESS="+/^[[:space:]]*LESS " man less LESS="+/\+cmd" man less LESS="+/\/" man less
Se vuoi solo trovare lopzione velocemente e in modo interattivo nella pagina man, impara a usare le capacità di ricerca di less
“. E vedi anche:
Commenti
- Grazie per aver postato. I comandi nella tua risposta hanno restituito i risultati che stavo cercando. Accetterò una risposta dopo un giorno o due, quindi per favore sii paziente.
- @karel, nessun problema, io ' sono molto paziente. 🙂 Un po perplesso, però: so che puoi ' t iniziare una taglia su una domanda per due giorni, ma credo che il limite di tempo prima che tu possa accettare una risposta sia di soli 15 minuti circa.
-
man find | sed -n '/-type/,/^$/p'
offre molto di più di quanto hai pubblicato corrisponderà a-type
in qualsiasi punto della riga … sto lavorando su un piccolo script per cercare man o help (per builtin) e attualmente utilizzoawk
che ha ancora poche stranezze da risolvere ..awk -v RS= -v rx="^\\\s*$arg\\\>" '$0 ~ rx' "$file"
dovearg
sarebbe-type
in questo caso - BTW, @Sundeep, potresti provare ad analizzare i file
troff
che contengono le informazioni della pagina man originale con le informazioni sul formato, invece delloutput di testo del comandoman
. - @Sundeep, qui ' è il punto di partenza per te . (Assicurati di seguire il link in quella risposta.) ' cè molto da sapere su
troff
. Ping me in chat quando finisci di tuffarti nella tana del coniglio. 🙂
Rispondi
Oppure reindirizza a less
e feed che un termine di ricerca:
man 1 find | less -p " -type"
(potrebbe non riuscire a seconda di cosa less
è feed, ad esempio se -type
è stato evidenziato in grassetto con backspace.)
Commenti
- Collegalo a
col -bx
prima.
-type
o vuoi, ad esempio, lintero paragrafo o due che descrivono cosa fa-type
?-type
sarebbe sufficiente per il modo in cui di solito cerco nelle pagine man, tuttavia tornando lintero paragrafo o due che descrivono cosa fa-type
sarebbe molto utile da fare almeno una volta.-type
opzione sì.