Když grepem manuálová stránka příkazu find
pro odpovídá type
vrací mnoho výsledků vyhledávání, které nechci. Místo toho chci použít příkaz, který vrátí pouze výsledky hledání pro -type
.
Příkaz man find | grep -type
nefunguje. Vrátí:
grep: invalid option -- "t"
Komentáře
Odpovědět
Chcete-li pozdravit vzor začínající pomlčkou, použijte --
před vzorem, který určíte.
man find | grep -- -type
Pokud chcete více informací, například celá část popisující možnost , můžete zkusit použít 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.
To však nebude fungovat pro všechny možnosti, které byste mohli hledat. Například :
$ man find | sed -n "/^[[:space:]]*-type/,/^$/p" -type c File is of type c:
Není moc užitečné. Horší je, že u některých možností byste mohli být uvedeni v omyl v tom, že si přečtete celý text o této možnosti, když jste ji opravdu neměli. t. Například vyhledávání -delete
vynechá velmi důležité UPOZORNĚNÍ obsažené jako druhý odstavec pod tímto nadpisem.
Moje doporučení je použít standardní volání man
se sadou proměnných prostředí LESS
. Ve svých odpovědích na tomto webu jej používám poměrně často.
LESS="+/^[[:space:]]*-type" man find
Další informace o tom, jak to funguje, naleznete na:
LESS="+/^[[:space:]]*LESS " man less LESS="+/\+cmd" man less LESS="+/\/" man less
Pokud chcete tuto možnost rychle a interaktivně najít na stránce manuálu, naučte se používat less
možnosti vyhledávání. A viz také:
Komentáře
- Děkujeme za zveřejnění. Příkazy ve vaší odpovědi vrátily výsledky, které jsem hledal. Odpověď přijmu po dni nebo dvou, takže prosím buďte trpěliví.
- @karel, žádný problém, jsem ' velmi trpělivý. 🙂 Trochu zmatený: Vím, že můžete ' nezačínám odměnu za dva dny, ale domnívám se, že časový limit, než přijmete odpověď, je pouhých 15 minut.
-
man find | sed -n '/-type/,/^$/p'
dává mnohem víc než to, co jste zveřejnili bude odpovídat-type
kdekoli v řádku … sám pracuji na malém skriptu, abych vyhledal člověka nebo pomohl (pro vestavěné) a aktuálně používámawk
který má stále několik vtipů k vyřešení ..awk -v RS= -v rx="^\\\s*$arg\\\>" '$0 ~ rx' "$file"
kdearg
by byl-type
v v tomto případě - BTW, @Sundeep, možná budete chtít místo textového výstupu zkusit analyzovat podkladové
troff
soubory obsahující informace o původní stránce manuálu s informacemi o formátu příkazuman
. - @Sundeep, zde ' je výchozím bodem pro vás . (Ujistěte se, že používáte odkaz v této odpovědi.) ' Je spousta informací o
troff
. Ping na chatu, až skončíte s králičí nivou. 🙂
Odpovědět
Nebo přesměrovat na less
a feed že hledaný výraz:
man 1 find | less -p " -type"
(To může selhat v závislosti na tom, co přesně je less
zdroj, např. pokud -type
byl zvýrazněn backspace.)
Komentáře
- Propojte to
col -bx
první.
-type
, nebo chcete, řekněme, celý odstavec nebo dva, které popisují, co-type
dělá?-type
pro způsob, jakým obvykle prohledávám manuálové stránky, avšak návrat celý odstavec nebo dva odstavce, které popisují, co-type
dělá, by bylo velmi užitečné udělat alespoň jednou.-type
možnost ano.