Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: no_-_name 18. 05. 2010, 15:56:21

Název: Bash skript pro řazení souborů pomocí file
Přispěvatel: no_-_name 18. 05. 2010, 15:56:21
zdravím, potřeboval bych trochu píchnout se stavbou skriptu na řazení souborů na základě jejich obsahu, nejlepší na to asi bude file... Potřebuju roztřídit hromadu souborů (směs textu, obrázků a ostatních) do tří adresářů "obrazky" "text" a "ostatni". (samozřejmě ošetření tvorby prázndých složek, když v hromadě soubory daného typu nebudou)

file /home/hromada/*.* | grep "image" > /home/seznamobrazku
file /home/hromada/*.* | grep "text" > /home/seznamtextu

takhle si vygeneruju seznam souborů, tu tvorbu adresářů ošetřím if podmínkou jestli tam seznam je tak udělám složku atp...

ale pak babo raď, nedokázal jsem do for cyklu zapsat projíždění těch seznamů a mv souborů do patřičných složek  :-[

jsem linuxová lamička a nestydím se to přiznat, programátor ze mě asi nikdy nebude :)
Název: Re: pomoc s bash skriptem řazení souborů pomocí file
Přispěvatel: kozec 18. 05. 2010, 17:22:05
Snad som zadanie pochopil spravne...
Kód: [Vybrat]
for subor in * ; do
  if [ $(file "$subor" | egrep "[^:]+:.*image" | wc -l) == 1 ] ; then
    echo "$subor je obrazok"
  fi
done
vykona echo "$subor je obrazok" len pre tie subory, pre ktore file spomenie image.

Alebo, ak trvas na tych suboroch so zoznamom...
Kód: [Vybrat]
cat zoznam.txt | cut -d ":" -f 1 | while read subor; do
   echo "Nacitane zo suboru:" "$subor"
   done
... ale mozes narazit na problem, ak ma niektori zo suborov v nazve dvojbodku.
Název: Re: pomoc s bash skriptem řazení souborů pomocí file
Přispěvatel: no_-_name 18. 05. 2010, 18:23:55
ó všemocný guru, díky moc :) Už jsem se odpíchnul a mám to hotové :)