Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

izdvajanje fajlova sa nazivom identicnim nazivu direktorijuma?

[es] :: Skript jezici :: izdvajanje fajlova sa nazivom identicnim nazivu direktorijuma?

[ Pregleda: 1087 | Odgovora: 3 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

urkozamanje
Milosavljevic Marko
Area IT Manager
Qatar-UAE-Bahrein-Doha

Član broj: 36977
Poruke: 118
82.148.96.*



Profil

icon izdvajanje fajlova sa nazivom identicnim nazivu direktorijuma?09.07.2007. u 07:52

pokusao sam pronaci sam nacin da ovo izvedem, ali nisam uspeo. previse je nepoznanica tu za mene, i ne mogu definisati sta tacno da trazim, pa je jedini izlaz postaviti pitanje na forumu. ovako:

u okviru lan-a na dva fajl servera imam dignute sambe (suse 10.0 i suse 9.1 ). skoro se na nekom broju stanica uvukao virus sality. ovaj virus izmedju ostalog pravi .exe fajlove i naziva ih identicno nazivu direktorijuma koji je poslednji u nizu (tree). npr

/dirA/dirB/dirC/dirC.exe

obzirom na veliku dinamiku u razmeni izmedju stanica i servera, serveri su se brzo napunili takvim fajlovima.

kako izbrisati takve fajlove? ja sam stigao dovde :

Code:
find . -name '*.exe' -exec rm -i '{}' ';' 


-i atribut sam dodao obzirom da postoji odredjeni broj .exe fajlova koji ne spadaju u ovu grupu pa ih nisam zeleo brisati. iako zahteva malo vremena za yes/no potvrdu ovo jeste funkcionisalo na suse 9.1 , ali na suse 10.0 jednostavno izlista sve te fajlove bez dijaloga za potvrdu brisanja fajlova, tj. ispise dijalog

Code:
rm: remove regular file '/dirA/dirB/dirC/dirC.exe'? 


ali odmah prelazi na ispis sledeceg dijaloga ne sacekavsi odgovor (pritom je bar dobro sto ih ne brise bez potvrde).

pitanje1:

moze li mi neko pomoci da napravim scriptu koja ce da izdvoji fajlove sa .exe ekstenzijom kojima je naziv identican nazivu direktorijuma u kojem se nalaze, i da takve izbrise?

pitanje2:

vrlo verovatno postoji bolji nacin resavanja problema. ako postoji, koji je?
---- nasa online podrska je trenutno offline ----

09.07.2007. u 07:52 

anrxc
Freelancer

Član broj: 43899
Poruke: 446
*.adsl.net.t-com.hr.

Jabber: anrxc|sysphere|org
ICQ: 237982949
Sajt: sysphere.org


Profil

icon Re: izdvajanje fajlova sa nazivom identicnim nazivu direktorijuma?09.07.2007. u 11:42
Citat:
ali odmah prelazi na ispis sledeceg dijaloga ne sacekavsi odgovor (pritom je bar dobro sto ih ne brise bez potvrde).


Posto nemas problem s time da nadgledas sto se brise, da ne skriptamo bezveze (ako na sistemu imas stotine exe datoteka onda se vrati :)) prvo probaj:

$ find . -name '*.exe' -print -ok rm {} \;


-ok je kao i -exec, ali od korisnika trazi potvrdu, mozes probati (koristiti i u buduce kod cp, mv i sl.) i "-name \*.exe" u slucajevima kada ima razmaka ili spec. znakova u imenu.
You need to install an RTFM interface.
09.07.2007. u 11:42 

urkozamanje
Milosavljevic Marko
Area IT Manager
Qatar-UAE-Bahrein-Doha

Član broj: 36977
Poruke: 118
82.148.96.*



Profil

icon Re: izdvajanje fajlova sa nazivom identicnim nazivu direktorijuma?09.07.2007. u 12:25
ovo funkcionise. hvala

mozda ipak ne bi bilo lose da scriptamo :) mozda nesto naucim iz toga, a zatrebace mi kasnije neka automatizacija

[Ovu poruku je menjao urkozamanje dana 10.07.2007. u 17:06 GMT+1]
---- nasa online podrska je trenutno offline ----

09.07.2007. u 12:25 

random
Vladimir Vrzić
Senior Software Engineer, Vast.com
Stari Cerak

Tehnički konsultant
Član broj: 85
Poruke: 3846
*.adsl-1.sezampro.yu.

Sajt: www.last.fm/user/vrza


Profil

icon Re: izdvajanje fajlova sa nazivom identicnim nazivu direktorijuma?30.07.2007. u 16:00
Tačnu listu traženih fajlova bi mogao dobiti sa:

Code:
 $ find . -type f -name '*.exe' | awk -F/ '{ if ( $(NF - 1) ".exe" == ( $NF ) ) print $0 }'

int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
30.07.2007. u 16:00 

[es] :: Skript jezici :: izdvajanje fajlova sa nazivom identicnim nazivu direktorijuma?

[ Pregleda: 1087 | Odgovora: 3 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.