Re: [Linux] sed

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

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


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.