GNU/Linux >> Znalost Linux >  >> Linux

Hledání souborů čitelných pro člověka na unixu

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.


Linux
  1. Hledání souborů v příkazovém řádku (jak na to)

  2. Najít všechny soubory Pythonu v systému souborů Linux?

  3. 10 příkladů příkazů Cat pro správu souborů v systému Linux / UNIX

  1. Jak zjistit konce řádků v textovém souboru?

  2. Unix/Linux obnovit/obnovit smazané soubory

  3. Hledání a mazání souborů s konkrétním datem

  1. Najděte soubory a adresáře v Linuxu pomocí příkazu find

  2. Jak najít soubor v Linuxu ve všech adresářích rekurzivně

  3. Jak najít a odstranit prázdné adresáře a soubory v Unixu