Portál AbcLinuxu, 19. ledna 2026 06:39
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 grepu 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.