[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

regex ve bash script



 Merhaba ...
 Bir arkadaşımın ricası üzerine bazı işler yapmam gerekiyordu bende elim 
değişmişken yapabileceğimin en iyisi yapayım dedim ve bir bash scirpt yazmaya 
başladım ancak bir yerinde takıldım yardım edebilirseniz sevinirim...

aşağıdaki kodun değişkenlerinin aldığı değerleri vereyim...
${querantinedir}=/Yedek/Karantina
${userdir}=Hasan
${File}=/Yedek/Samba/Hasan/clam.cab

aşağıdaki kodda yapmak istediğim şey eğer /Yedek/Karantina dizininde
Hasan kullanıcısına ait bir dizin yoksa oluşturması (bunda sorun yok).
Eğer o dizinde daha önceden bir dosya varsa yeni bir dizin oluşturmak 
ve onun içerisine taşımak ancak $Files değişkeninin aldığı değerden dolayı 
ikinci if yapısıda /Yedek/Karantina/Hasan//Yedek/Samba/Hasan/clam.cab
diye bir dosya kontrol ediliyor .. İçinden çıkamadığım durum ise
 bana sadece  $File değişkeni içerisinden en sonda bulunan "clam.cab" dosya 
adını çıkartabilmek. kregexpeditor' e göre [^/]*$ regex kalıbı uygun olması 
lazım ancak deneme=`echo $Files | grep  "[^/]*$" ` olarak denediğimde sonuç 
alamıyorum..  bunu nasıl aşabilirim?

Not: cut kullanmayı düşündüm ancak dosya Hasan dizini içerisinden daha 
derinlerde olabileceğinden vazgeçtim.

Sorunun cevabı yine çok basit çıkacak ve ben yine aaaa diyeceğime eminim :)



MoveFile(){
 if [ ! -d ${querantinedir}${userdir} ]; then
          mkdir  ${querantinedir}${userdir}
 fi
 if [ -f ${querantinedir}${userdir}/${File} ]; then
    path=`mktemp -p  ${querantinedir}${userdir}/`
 else
  path="${querantinedir}${userdir}"
 fi
    mv -f ${File} ${path}/
 if [ $? -ne 0 ]; then
  return 1
 fi
 return 0
}
-- 
Saygılar && İyi çalışmalar
Timu EREN (a.k.a selam)

Attachment: pgpV8RyernrB4.pgp
Description: PGP signature


Reply to: