GNU/Linux >> Znalost Linux >  >> Linux

Rekurzivní statistiky o typech souborů v adresáři?

Udělal jsem škrábání webu pro projekt konverze. Chtěl bych udělat nějaké statistiky o typech souborů, které tam jsou – například 400 .html soubory, 100 .gif , atd. Jaký je snadný způsob, jak to udělat? Musí být rekurzivní.

Upravit: Se skriptem, který zveřejnil maxschelpzig, mám nějaké problémy kvůli architektuře webu, který jsem seškrábal. Některé soubory mají název *.php?blah=blah&foo=bar s různými argumenty, takže je všechny považuje za jedinečné. Řešení tedy musí vzít v úvahu *.php* být všichni stejného typu, abych tak řekl.

Přijatá odpověď:

Můžete použít find a uniq pro toto, např.:

$ find . -type f | sed 's/.*.//' | sort | uniq -c
   16 avi
   29 jpg
  136 mp3
    3 mp4

Vysvětlení příkazu

  • find rekurzivně vypíše všechny názvy souborů
  • sed odstraní z každého souboru předponu až po příponu souboru
  • uniq předpokládá seřazený vstup
    • -c provádí počítání (jako histogram).

Linux
  1. Přesouvání souborů na Linuxu bez mv

  2. Obnovení náhodně smazaných souborů?

  3. Tabulka oprávnění pro soubor/adresář a typy uživatelů souborového systému

  1. Proč může Rm odebrat soubory pouze pro čtení?

  2. Rsync, zahrnuje pouze určité typy souborů s výjimkou některých adresářů?

  3. Přejmenovat soubory v adresáři?

  1. Jak vypsat rekurzivní velikosti souborů a adresářů v adresáři?

  2. linuxový příkaz k vyprázdnění všech souborů v adresáři

  3. Rekurzivní kat všechny soubory do jednoho souboru