Pokud bych ve Windows chtěl najít řetězec ve všech souborech ve všech podadresářích, udělal bych něco jako
findstr /C:"the string" /S *.h
V Linuxu (řekněme Ubuntu) jsem však nenašel jiný způsob než nějaký zřetězený příkaz zahrnující find
, xargs
a grep
(Příklad je na této stránce:Jak mohu rekurzivně procházet podadresáři?). Moje otázka je však jiná:existuje nějaký jediný vestavěný příkaz který funguje prostřednictvím tohoto kouzla, aniž bych musel psát můj shell skript?
Přijatá odpověď:
GNU grep umožňuje rekurzivní vyhledávání v podadresářích:
grep -r --include='*.h' 'the string' .
Smazat všechny soubory v adresáři, jejichž jméno neodpovídá řádku v seznamu souborů?
Jak vypsat všechny soubory, které byly nainstalovány balíčkem Apt?