From: m.baris demiray (baris@idealteknoloji.com)
Date: Tue 07 Dec 2004 - 03:03:21 EET
Baris Onol wrote:
> merhaba
Merhaba,
> sed'le bir dosyayi incelerken 1 den 100 kadar dosya icindeki satirlari
> tek tek while dongusu icinde gormek istiyorum.
Bunun için Sed'e neden ihtiyaç duyuyorsunuz? Aşağıdaki gibi bir betik
işinizi görecektir:
#!/bin/sh
IFS_YEDEK=$IFS;
IFS=$'\n';
declare -i a;
let a=1;
for satir in `cat /satirlari/goruntulenecek/dosya|head -n 100`; do
echo "$a. satir: $satir";
let a=$a+1;
done
IFS=$IFS_YEDEK;
exit;
Burada dosyanın satırlarını çekmek istediğimiz için Bash'in IFS
(Internal Field Separator) değişkenini geçici olarak yenisatır karakteri
ile değiştirmeniz gerekiyor (Normalde değeri boşluk+tab+yenisatır).
Ayrıca Bash'teki for döngüsü bir grup değeri sırayla işlemek için daha
uygun ve kolay bence. Ben while'ı sadece koşullu ifadelerde kullanıyorum.
> dongu icinde $ isaretini
> bir turlu degisken olarak tanitamadim. nasil bir yol izlemem lazim?
Döngü içinde $ karakterini değişken olarak tanıtmaktan kastınız ne?
Not: Sorunuz linux-programlama listesine daha uygun, bir kopya da oraya
gönderiyorum.
> tesekkurler
> baris onol
>
--M.Baris Demiray
DOS: n., A small annoying boot virus that causes random spontaneous system crashes, usually just before saving a massive project. Easily cured by UNIX. See also MS-DOS, IBM-DOS, DR-DOS.
_______________________________________________
Linux mailing list
Linux@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux