Použijte:
find /dir/to/search -type f | xargs file | grep text
find
vám poskytne seznam souborů.
xargs file
spustí file
příkaz na každém z řádků z rourkovaného vstupu.
najít a soubor jsou zde vaši přátelé:
find /dir/to/search -type f -exec sh -c 'file -b {} | grep text &>/dev/null' \; -print
To najde všechny soubory (POZNÁMKA:nenajde symbolické odkazy adresáře sockety atd., pouze běžné soubory) v /dir/to/search a spusťte sh -c 'soubor -b {} | grep text &>/dev/null'; který se podívá na typ souboru a hledá text v popisu. Pokud to vrátí hodnotu true (tj. text je v řádku), vypíše se název souboru.
POZNÁMKA:použití parametru -b k souboru znamená, že název souboru se nevytiskne, a proto nemůže způsobit žádné problémy s grep . Např. bez -b
flag binární soubor gettext by byl chybně detekován jako textový soubor.
Například,
[email protected]# find /bin -exec sh -c 'file -b {} | grep text &>/dev/null' \; -print
/bin/gunzip
/bin/svnshell.sh
/bin/unicode_stop
/bin/unicode_start
/bin/zcat
/bin/redhat_lsb_init
[email protected]# find /bin -type f -name *text*
/bin/gettext
Pokud chcete prohlížet komprimované soubory, použijte --uncompress
příznak do souboru. Další informace a příznaky k souboru viz man soubor.