Portál AbcLinuxu, 10. května 2025 09:43
find adresář -name '*.less' -exec grep -q 'kód' {} \; -print
find -type f -name "*.less" | egrep -lr "kód" adresář
což mi taky fungovalo ale tvůj kód je mnohem lepší :)
Díky
Vždyť se to dá snadno vyřešit takto:
find adresář -name '*.less' -exec grep -q 'kód' {} + -print
Nechápu, proč je u příkazu find
pořád v módě středník, ač v 99% případů ve skutečnosti chcete použít plus.
grep -l 'vzor' *.lessPokud chcete hledat i v podadresářích, dalo by se v
zsh
použít toto, nevím, zda něco takového umí i bash
:
grep -l 'vzor' **/*.lessA nebo pak použít
find
, jak už bylo napsáno. Nebo v případě, kdy by těch souborů bylo moc a příkazová řádka grep
u po rozbalení žolíků shellem moc dlouhá.
[ilmarinen@kalevala ~]$ grep -nr --include "*.less" hledany_string
directory/test2.less:1:hledany_string
test.less:1:hledany_string
[ilmarinen@kalevala ~]$ grep -rl --include "*.less" hledaný_string
directory/test2.less
test.less
ack
(někde se to jmenuje ack-grep
)
ack -l 'code' --less
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.