merhaba,

syntax sorununuz yok aslinda. mv ederken taget olarak kullandiginiz $LWR degiskeni bos geliyor. Onu da yukarida atiyorsunuz.

Oradaki sorun ne onu anlamadim.... yazdiginiz sed dogru. programin diger kismindan kaynakli birsey olabilir. Sorun $LWR bos geliyor.

selamlar...

Orhan Berent wrote:

Merhaba, bugun soru sorma gunum herhalde :)

1) Bir dizindeki dosya isimleri buyuk harfle olusmussa bunu kucuk harfli
isimlere cevirmek istedigim zaman asagidaki scripti kullaniyorum.

CNT=$# while [ $CNT -ge 1 ]
do
 NRM=$1
 LWR=`echo "$NRM" | tr '[A-Z]' '[a-z]'`
 if [ "$NRM" != "$LWR" ]
  then
   echo $NRM  $LWR
   mv $NRM $LWR
  fi
 shift; CNT=`expr $CNT - 1`
done

scriptin adi yap olsun. bir dizinde buyuk harfli dosya ismi varsa o
dizine inip,

find . -exec bash yap {} \;

dedigim zaman gayet guzel is goruyor.

./ALI ./ali
./VELI ./veli

2) ancak dosya isimlerindeki  bosluk karakterlerini alt cizgiye
donusturmek istedigim zaman, scripti degistiriyorum ve tr komutu yerine
sed -e "s/\ /\_/g" yaziyorum
echo kismi yapilmasi gereken isi gosteriyor sadece.

./bosluklu dosya ./bosluklu_dosya

sonra da mv asagidaki hatayi veriyor.
usage: mv [-f | -i | -n] [-v] source target
mv [-f | -i | -n] [-v] source ... directory

bir syntax kaciriyorum ama nedir. sabriniz icin tesekkurler.

Orhan Berent

--
Baris Simsek
http://www.enderunix.org/simsek/


---------------------------------------------------------------------
Cikmak icin, e-mail: [EMAIL PROTECTED]
Liste arsivi: http://lists.enderunix.org
Turkiye'nin ilk FreeBSD kitabi: http://www.acikakademi.com/freebsd.php


Cevap