Merhaba
basit bir konu ama nedenini ögrenmek istiyorum. baris.txt adli bir dosyam var. icinde sadece abcde diye bes karakterlik bir metin var. Lakin ben
wc -m baris.txt
yazinca sonuc olarak
6 abcde
geliyor. Normalde burdaki karakter sayisi 5 olmasi gerekmiyor mu?
Birde test adli bir dosyam var icinda asagidakiler yaziyor. ./test DXABC yazinca bu DXABC'nin karakter sayisini kontrol etmesini istiyorum.
#!/bin/bash
karaktersayisi$(echo $1|wc -m)
if [ "$karaktersayisi" = "5" ]
then
echo "karakter sayisi =$karaktersayisi"
else
echo "karakter sayisi 5 degil"
fi
programi söyle isletiyorum mesala: ./test DXABC
karakter sayisi 5 degil sonucu geliyor.
neden acaba?
Düzenleme Notu: Komut ve çıktıları için [code][/code] etiketi kullanınız.
Dosya içerisinde e harfinden sonra boşluk karakteri var mı? Ya da saydığı karakterleri teker teker ekrana yazdırdığında 6. karakter hangisi oluyor bakma imkanın oldu mu?
dosyanin icerigini ben kendim yazdim ne saginda ne solunda bosluk karakteri var. Daha dogrusu hicnirsey yok. sadece abcde
Sayılan karakterlere bakalım. Muhtemelen satır sonu/yeni satır karakteri vardır.
cat baris.txt | od -c
tesekkürler.. problemin nereden geldigini anladim .. dediginiz gibi baktim ; echo $1
dan dolayi satır sonu/yeni satır geliyor en sonda..
echo -n $1
yazdigimda satir sonu eklenmiyor..
gözden kacmis :-)