Tato otázka zde již obsahuje odpovědi :Proč můj nález není rekurzivní?
(3 odpovědi)
Uzavřeno před 10 měsíci.
Linux
(3 odpovědi)
Uzavřeno před 10 měsíci.
Pomocí find
pomocí grep
, lze najít soubory, které odpovídají vzoru:
# find | grep error
./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html
./error_log
./includes/classes/error_log
Nicméně pomocí find
samotný první soubor nebyl nalezen:
# find . -name error*
./error_log
./includes/classes/error_log
Proč find
vyhledejte soubor errors.html
pokud se nepoužívá s grep
? Jak je find
používá k zobrazení tohoto souboru také?
Přijatá odpověď:
Musíte uvést svůj argument error*
protože skořápka ji rozšiřuje. Takže to, co teď ve skutečnosti spouštíte, je find -name error_log
, protože to je to, na co jej může shell rozšířit (existuje soubor s názvem error_log
ve vašem aktuálním adresáři).
find . -name 'error*'
Je správné vyvolání pro váš případ použití.