[Pardus-kullanicilari] toplu html dosyaları içinden belli satırları silmek

Doruk Fisek dfisek at fisek.com.tr
3 Mar 2008 Pzt 16:59:52 EET


Mon, 3 Mar 2008 15:53:01 +0200, "irfan bilgili"
<irfanbilgili at superonline.com> :

> makale uzunluğu değiştiğinden makale bitiminde her sayfada ortak bir
> ifade var (bir bağlantı) bu bağlantı bir ifade kullanılarak satır
> numarası bulunup ondan sonraki satırları son birkaç satır hariç
> silinebilirse dosyalar istediğim şekline gelmiş olacak. 

grep -n ifade metin.txt |cut -d\: -f1

size satir numarasini verir.

tail -n 5 metin.txt

size metnin kesilmesini istemediginiz son 5 satirini verir (5'i
degistirebilirsiniz elbette).

head -n 5 metin.txt

size metnin basindan ilk 5 satiri verir. 5 rakamini grep komutundan
elde ettiginiz sayiyla degistirebilirsiniz.

Bu durumda, suna benzer bir betigi html dosyalarinin bulundugu dizinde
calistirirsaniz isiniz gorulmeli, dosya.html.kesilmis seklinde ayri
dosyalara kesilmis halini kaydetmeli :

=============================================
#!/bin/bash
#
for DOSYA in `ls *.html`
do
 SATIRNO=`grep -n ifade $DOSYA |cut -d\: -f1`
 head -n $SATIRNO $DOSYA > $DOSYA.kesilmis
 tail -n 5 $DOSYA >> $DOSYA.kesilmis
done
=============================================

Biraz daha borulama islemi ile daha kisa yapilabilmesi lazim.

                   Doruk

--
FISEK ENSTITUSU - http://www.fisek.com.tr


Pardus-kullanicilari mesaj listesiyle ilgili daha fazla bilgi