Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
This article is available in: Castellano  English  Français  Russian  Turkce  
[Foto del Autor]
Manuel Muriel Cordero taraf�ndan

Yazar Hakk�nda:
Manuel Muriel Cordero Sevilla �niversitesinde istatistik ve Bilgisayar Bilimleri Fak�ltesinde okuyor.

��erik::

GNU dosya ara�lar�

�eviri : Erg�n M�hc�o�lu

[Ilustracion]

Abstract:

Bu dizinin ilk b�l�m� (Temel Unix komutlar�) Linux hakk�nda genel bir bilgi verdi. Bu b�l�m temel becerileri alman�z� ve i�letim sistemini kullanabilmenizi sa�layan bir giri�ti; fakat kullan�c� genel Unix komut k�melerini de ��renmek isteyebilir. Bu komutlar� ve kabu�u kullanarak �ok verimli dosya ve sistem y�netimi ba�ar�labilir. Bu b�l�m bu geli�mi�, ayn� zamanda da temel, ara�lar� i�erecektir.



 

Giri�: Unix Yoluyla �al��ma

Komutlar� tan�tmadan �nce okuyucu bu komutlar�n tarihi hakk�nda baz� ger�ekleri bilmeli. Yetmi�lerin ba��nda Kem Thompson ve Denis RitcheUnix'i geli�tirirken programc�lar�n hayat bi�imini kolayla�t�racak bir i�letim sistemi olu�turmak istemi�lerdi. Daha sonra bunu ba�arabilmenin en iyi yolunun baz� �zel g�revleri ba�ar�yla yapan az say�da basit ara� tan�mlamak oldu�una karar verdiler. Daha karma��k g�revler ise bu basit ara�lar� birle�tirerek ba�ar�labilecekti. Bu birle�time s�ras�nda birinin ��kt�s� di�erinin girdisi olacakt�.

Bu bilgileri g�nderme fikri standart girdi ve ��kt�y� kullanarak yap�ld�. Pipelerin(|) ve tekrar y�nelendirmenin (bir �nceki makalede anlat�ld�) varl��� sayesinde komutlar� birle�tirmek olanakl� hale geldi.

Bunu bir �rnekle a��klamak �ok kolay. Bir kullan�c� �unu yazs�n:

$ who | grep pepe

who ve grep pipe "|" ile birle�tirilmi� iki ayr� programd�r. who o anda bilgisayara ba�l� olan t�m kullan�c�lar�n bir listesini g�sterir. Tipik bir ��kt� �unun gibidir:

$ who
manolo	tty1	Dec 22	13:15
pepe	ps/2	Dec 22	14:36
root	tty2	Dec 22	10:03
pepe	ps/2	Dec 22	14:37

��kt� tablarla ayr�lm�� d�rt alandan olu�maktad�r. Alanlar s�rayla: kullan�c� ad�(login), ba�lant� terminali, ba�lant�n�n tarihi ve zaman�d�r.

"grep pepe" "pepe" katar�n� i�eren sat�r� arar.

Ve ��kt� ��yledir:

$ who | grep pepe
pepe	ps/2	Dec 22	14:36
pepe	ps/2	Dec 22	14:37

Belki daha basit bir�ey istersiniz, birileri ba�l� m� de�il mi onu bulal�m. �u an ba�l� olan terminal say�s�n� wc program� ile kontrol edebilirsiniz.

wc bir karakter, kelime ve sat�r say�c�s�d�r. Bu durumda bizim sadace sat�r say�s�na ihtiyac�m�z var, �yleyse sadece -l se�ene�ini kullanaca��z

$ who | wc -l
	4
$ who | grep pepe | wc -l
	2

Toplamada 4 ki�i ba�l� ve pepe iki terminalde ba�l�.

E�er antonio'yu kontrol edersek

$ who | grep antonio | wc -l
	0

antonio ba�l� de�il.

 

GNU Ara�lar�n�n Do�u�u

Richard Stallman, GNU projesinin kurucusu, bilgisayar biliminin do�al olarak geli�mesini engelleyen birka� b�y�k �irketin varl��� hakk�nda bir tart��ma ba�latt�. MIT'te emacs edit�r�n� geli�tirdikten sonra, b�y�k �irketlerin m�seccel versiyonlar yapmakta kendisinin i�lerini kullanmas� ger�e�i ho�una gitmedi.Bu durumdan ileri gelerek, kaynak koduna herkesin eri�ebilece�i bir yaz�l�m projesine ba�lamaya karar verdi. ��te bu yaz�l�m GNU. Uzun vadeli hedef hepsi a��k kaynakl� tam bir i�letim sistemi yapmakt�. �lk ad�mlar kaynak kodlar� a��k yeni bir emacs versiyonu ve C derleyicisiydi (gcc), ve bununla birlikte unix i�in baz� tipik ara�lar. Bu ara�lar bu makalede irdelendi.

 

grep

�lk �rne�imiz grep'in ana fonksiyonunu g�sterdi. �imdi grep'i �ok daha detayl� bir �ekilde ele alaca��z.

grep'in temel kullan�m�:

$ grep [-se�enekler] �r�nt� dosyalar

Ve en �ok kullan�lan se�enekler:
-n e�le�en her sat�rdan �nce sat�r numaras�n� yazar(B�y�k dosyalar�n i�inde arama yapt���n�zda ve e�le�en sat�rlar�n nerede oldu�unu bildi�inizde kullan��l� olur.)
-c e�le�en sat�r say�s�n� bulur
-v e�le�meyen sat�r say�s�n� yazar( �r�nt�n�n olmad��� sat�rlar�n aranmas�)

�r�nt� aranacak karakter grubudur. E�er g�m�lm�� bir bo�luk varsa �r�nt� ve aranacak dosyan�n kar��t�r�lmamas� i�in �r�nt� t�rnak i�inde yaz�l�r. Mesela:

$ grep "Hola mundo" dosya.txt

E�er i�inde anlaml� karakterler, t�rnak i�aretleri, kesme i�aretleri ve ya b�l� i�aretleri olan bir katar ar�yorsak, kabukdan kaynaklanan de�i�iklikleri �nlemek i�in anlaml� karakterden �nce ters b�l� koyar�z:

$ grep \*\"\'\?\< dosya.txt
Bu �unu bulur:
Esto es una cadena chunga -> *"'?<

 

D�zenli ifadeler

grep ve di�er GNU ara�lar� daha kapsaml� aramalar da yapabilir. Bu d�zenli ifadelerle m�mk�nd�r. Bunlar kabu�un anlaml� karakterlerine benzerler; ��nk� karakterlerin ve ya karakter gruplar�n�n yerini de�i�tirirler. Makalenin sonunda d�zenli ifadeleri detayl� bir �ekilde anlatan ayr� bir makaleye ba�lant� bulacaks�n�z.
Birka� �rnek:

$ grep c.n
c i�eren bir katar, bir karakter ve t'nin varl���n� arar.

$ grep "[Bc]el"
Bel ve cel'in bulundu�u t�m yerleri ara�t�r�r.

$ grep "[m-o]ata"
mata, nata ve ya oata i�eren sat�rlar� bulur.

$ grep "[^m-o]ata"
ata ile biten ve ba� harfi m, n ve ya o olmayan bir katar i�eren sat�rlar� arar.

$ grep "^Martin come"
'Martin come' ile ba�layan t�m sat�rlar. ^ k��eli parantezin d���ndayken sat�r ba�� anlam�na gelir, bir �nceki �rnekteki gibi bir grubun tersi anlam�na de�il.

$ grep "durmiendo$"
'durmiendo' ile biten t�m sat�rlar�. $ sat�r sonunu i�aret eder.

$ grep "^Caja San Fernando gana la liga$"
Tam olarak bu katar� i�eren sat�rlar.

Bu karakterlerin herhangi birinin �zel anlam�ndan korunmak i�in onlardan �nce ters b�l� i�areti koyabiliriz.�rnek olarak:

$ grep "E\.T\."
'E.T.' katar�n� arar.

 

Find

Bu komut dosyalar� bulmak i�in kullan�l�r. Di�er bir LinuxFocus makalesi bu komutu a��kl�yor ve yapabilece�imiz en iyi �ey sizi oraya iletmek.

 

cut & paste

Unix'te bilgi ASCII dosyalar�nda sat�r kay�tlar� ile saklan�r ve alanlar �zel bir karakterle s�n�rland�r�l�r, genel olarak d�zenleme i�areti ve ya iki nokta �st �ste (:). Tipik bir kullanma durumu bir dosyadan baz� alanlar� al�p onu ba�ka biri ile birle�tirmektir. cut ve paste bu i�i yapabilir.

�rnek olarak kullan�c� bilgilerini i�eren /etc/passwd dosyas�n� kullanal�m. Dosya ":" ile ayr�lm�� 7 alan i�erir. Alanlar kullan�c�n�n kullan�c� ismi, �ifrelenmi� durumda �ifresi, kullan�c� ID'si, grup ID'si, geco, ana klas�r ve tercih edilmi� kabu�u gibi bilgilerini i�erir.

Burada bu dosyadan tipik bir par�a var:

root:x:0:0:root:/root:/bin/bash
murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash
practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh
wizardi:x:502:502:Wizard para nethack:/home/wizard:/bin/bash

E�er kullan�c�lar� kabuklar�yla birle�tirmek istersek alan 1 ve 7'i kesmeliyiz (cut). Hadi yapal�m:

$ cut -f1,7 -d: /etc/passwd
root:/bin/bash
murie:/bin/bash
practica:/bin/ksh
wizard:/bin/bash
-f se�ene�i kesilecek alanlar� ve -d alan ay�r�c�y�(belirtilmezse d�zenleme i�areti kabul edilir) belirtir, ve sat�r �zerinde �al���lacak dosya ile biter.

Ve bir alan aral��� se�mek de m�mk�nd�r:

$ cut -f5-7 -d: /etc/passwd
root:/root:/bin/bash
Manuel Muriel Cordero:/home/murie:/bin/bash
Usuario de practicas para Ksh:/home/practica:/bin/ksh
Wizard para nethack:/home/wizard:/bin/bash

E�er ��kt�y� '>' i�aretini kullanarak iki farkl� dosyaya y�nlendirir ve iki ��kt�y� da birle�tirmek istersek paste komutunu kullanabiliriz:

$ paste output1 output2
root:/bin/bash:root:/root:/bin/bash
murie:/bin/bash:Manuel Muriel Cordero:/home/murie:/bin/bash
practica:/bin/ksh:Usuario de practicas para Ksk:/home/practica:/bin/ksh
wizard:/bin/bash:Wizard para nethack:/home/wizard:/bin/bash

 

sort

geco alan�n� kullanarak /etc/passwd dosyas�n� s�ralayaca��m�z�(sort) farzedelim. Bunu yapabilmek i�in sort'u kullan�r�z, unix'in s�ralama arac�.

$ sort -t: +4 /etc/passwd
murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash
practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh
wizard:x:502:502:Wizard para nethack:/home/wizard:/bin/bash
root:x:0:0:root:/root:/bin/bash

Dosyan�n s�raland���n� g�rmek �ok kolayd�r. Fakat ASCII tablosu s�ras� kullan�larak s�ralanm��t�r. E�er ba� harfler aras�nda de�i�iklik yap�lmas�n� istemiyorsak �unu kullanabiliriz:

$ sort -t: +4f  /etc/passwd
murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash
root:x:0:0:root:/root:/bin/bash
practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh
wizard:x:502:502:Wizard para nethack:/home/wizard:/bin/bash

-t alan ay�r�c�s�n� se�mek i�in kullan�lan se�enek. +4 d�zenleme yap�lmadan �nce atlan�lacak alan�n numaras�n� g�steriyor ve f b�y�k yada k���k harf �nemsemeden s�raland�r�laca��n� belirtiyor.

Daha karma��k s�raland�rmalar da yap�labilir. Mesela, ilk �nce kabu�u kullanarak daha sonra da geco'yu kullanarak s�raland�rabiliriz.

$ sort -t: +6r +4f /etc/passwd
practica:x:501:501:Usuario de practicas para Ksh:/home/practica:/bin/ksh
murie:x:500:500:Manuel Muriel Cordero:/home/murie:/bin/bash
root:x:0:0:root:/root:/bin/bash
wizard:x:502:502:Wizard para nethack:/home/wizard:/bin/bash

Bor� verdi�in ki�ileri ve bor� verdi�in miktarlar� tutan bir dosyan oldu�unu varsay. Mesela 'deudas.txt':

Son Goku:23450
Son Gohan:4570
Picolo:356700
Ranma 1/2:700

E�er ziyaret edilecek ilk ki�iyi g�rmek istiyorsan listeyi s�ralaman gerekir. �unu dene:
�unu dene:

$ sort +1 deudas
Ranma 1/2:700
Son Gohan:4570
Son Goku:23450
Picolo:356700

bu istenilen sonu� de�il; ��nk� alan say�s� dosya boyunca ayn� de�il. ��z�m 'n' se�ene�i:
$ sort +1n deudas
Picolo:356700
Son Goku:23450
Son Gohan:4570
Ranma 1/2:700

sort i�in temel se�enekler
+n.m s�ralamadan �nce ilk n alan� ve daha sonra m karakteri atlar.
-n.m s�ralamadan �nce ilk n alan� ve daha sonra m karakteri atlar.

Bunlar da de�i�tirme parametreleri:
bo�luklar� atlar
-d s�zl�k s�ralanmas� (sadece harfleri,say�lar� ve bo�luklar� kullan�r)
-f b�y�k k���k harf farkl�l�klar�n� g�rmezlikten gelir
-r s�ray� ters �evirir

 

wc

Daha �nce g�rd���m�z gibi wc bir karakter, kelime ve sat�r sayac�d�r. Normal ��kt�s� girdi dosyas�n�n sat�r, kelime ve karakter say�s�n� i�erir.

��kt� tipi se�eneklerle bi�imlendirilebilir

-l sadece sat�rlar
-w sadece kelime say�s�n� g�ster
-c karakter say�s�n� g�ster

 

Kar��la�t�rma ara�lar� : cmp,comm,diff

Bazen ayn� dosyan�n iki versiyonu aras�ndaki farklar� bilmek isteriz. Bu �zellikle programlama alan�nda birden �ok ki�i ayn� proje ve ayn� kaynak kodu �st�nde �al��t�klar�nda kullan�l�r. Bu ara�lar bir versiyon ile di�er bir versiyon aras�ndaki �e�itlili�i bulmak i�in kullan�l�r.

cmp bunlar�n en basit olan�d�r. cmp iki dosyay� kar��la�t�r�r ve farkl�l���n g�r�ld��� yerin konumunu bildirir (farkl�l���n karakter ve sat�r numaras�)

$ cmp eski yeni
eski yeni differ: char 11234, line 333

comm biraz daha geli�mi�tir. ��kt�s� 3 s�t�n sa�lar. �lki birinci dosyan�n tek olan sat�r�n� i�erir, ikincisi ikinci dosyan�n tek olan sat�r�n� i�erir ve ���nc�s� ortak sat�r� i�eirir. Say�sal parametreler bu s�tunlar�n baz�lar�n�n at�lmas�na izin verir.
-1, -2 ve -3 birinci, ikinci ve ���nc� s�tunun g�sterilmeyece�ini s�yler. Bu �rnek sadece ilk dosyada g�r�len ve ortak olan sat�r� g�sterir.

$ comm -2 old new

Sonuncu olarak diff. diff geli�mi� programlama projeleri i�in �ok �nemli bir ara�t�r. E�er zaten derlemek i�in bir kernel indirmi�sen, yeni bir tanesinin kaynak kodunu ve ya �ncekine yama olan bir kaynak kodunu indirebilece�ini bilirsin. Ama sonuncusu daha k���kt�r. Bu yaman�n bir diff tak�s� vard�r, bu onun bir diff ��kt�s� oldu�unu g�sterir. Bu ara� dosyalar� tipik yapmak i�in edit�r komutlar�n� kullan�r (vi, rcs). Bu ayr�ca dosyalar� tutan dizinlere ve ar�ivlere de uygulan�r. Kullanma durumu olduk�a a��kt�r: az olan kaynak kodunu indir (sadece de�i�iklikleri), yamay� uygula ve derle. Parametreler olmadan de�i�ikliklerin nas�l yap�laca��n� belirtir, �yleki ilk olan ikinciye e�it olur, vi komutu ile.

$ diff eski yeni
3c3
< The Hobbit
---
> The Lord of the Rings
78a79,87
>Three Rings for the Elven-kings under the sky,
>Seven for the Dwarf-lords in their halls of stone,
>Nine for Mortal Men doomed to die,
>One for the Dark Lord on his dark throne
>In the Land of Mordor where the Shadows lie.
>One Ring to rule them all, One Ring to find them,
>One Ring to bring them all and in the darkness bind them
>In the Land of Mordor where the Shadows lie.

3c3 sat�r 3'te 3 satr�n� de�i�mek zorunda oldu�unu g�sterir, "The Hobbit"'i kald�r�r ve yerine "The Lord of Rings"'i getirir. 78a79,87 sat�r 79'dan 87'e kadar yeni sat�rlar girmen gerekti�i anlam�na gelir.

 

uniq

uniq fazlal�klar� temizler. Mesela, sadece �u anda bilgisayara ba�l� olan ki�ileri bilmek istiyorsak who ve cut komutlar�n� kullanmal�y�z:

$ who | cut -f1 -d' '
root
murie
murie
practica

Fakat ��kt� tam olarak istedi�imiz gibi de�il. Kullan�c� murie'in ikinci kay�d�n� silmeliyiz. Bu ��yle olur:

$ who | cut -f1 -d' ' | sort | uniq
murie
practica
root

-d' ' se�ene�i sat�r ay�r�c�s�n�n bo�luk oldu�u anlam�na gelir, ��nk� who'nun ��kt�s� d�zenleme i�areti yerine bo�luk karakterini kullan�r.

uniq sadece ard���k sat�rlar� kar��la�t�r�r. Bizim �rne�imizde iki "murie" birbirinin ard�ndan geldi fakat durum farkl� olabilirdi.Bundan dolay� uniq'i kullanmadan �nce ��kt�y� s�ralamak iyi bir fikirdir.

 

sed

sed Unix'in en garip ara�lar�ndan biridir. Stream editor g�revini g�r�r. Genel d�zenleme kullan�c�n�n istedi�i t�m de�i�iklikleri kontrol kabul eder. sed bize MS-DOS'taki batch dosyalar�na benzer k���k kabuk betikleri yazma imkan� tan�r. Bize kullan�c� tesiri olmadan bir dosyan�n i�eri�ini de�i�tirme yetene�ini verir. Edit�r�n yetenekleri hemen hemen tamamland� ve daha derine inmek bu makaleyi �ok uzat�r. �yleyse sadece ana bir giri� yapaca��z, geri kalan�n� ilgilenen kullan�c�lar i�in man ve info sayfalar�na b�rakaca��z.

sed genel olarak ��yle �a��r�l�r:

$ sed 'komut' dosyalar

�rnek olarak i�indeki her "Manolo"'yu "Fernando" ile de�i�tirece�imiz bir dosyay� ele alal�m. Bu i�i yapmak i�in:

$ sed 's/Manolo/Fernando/g' dosya

Ve bu de�i�tirilmi� dosyay� ekrana verir. E�er sonucu saklamak istiyorsak onu ">" ile bir dosyaya y�nlendirebiliriz.

Bir�ok kullan�c� &'i vi ile de�i�tiren komutu tan�yacakt�r. Ayr�ca �o�u ":" komutlar� (ex'i �a��r�r) sed'in komutlar�d�r.

Genellikle sed direktifleri bir ve ya iki adres (sat�rlar� se�mek i�in) ve �al��t�r�lacak komuttan olu�ur. Adres sat�r olabilir, sat�rlar�n aral��� ve ya �r�nt� olabilir.
En �ok kullan�lan komutlar:

Komut	  G�rev
-------   ------
-------   ------
a\         adreslenmi� sat�rlardan sonraki sat�r� girdiye ekler
c\         adreslenmi� sat�rlar� sat�r� yazarak de�i�tirir
d          sat�r(lar)� siler
g          �r�nt�y� sadece ilk g�r�nd��� yerde de�il t�m kay�tta
 	   de�i�tirir
i\         sat�rlar� adreslenmi� sat�rdan sonra yerle�tirir
p          �imdiki sat�rlar� yazar
q          adreslenmi� sat�ra geldi�inde bitirir
r dosya    dosyay� okur i�eri�ini ��kt�ya ekler
s/bir/iki  katar "bir"'i katar "iki" ile yer de�i�tirir
w dosya    �imdiki sat�r� farkl� bir dosyaya kay�t eder
=          sat�r numaras�n� yazar
! komut    komutu �imdiki sat�ra uygular

sed'i kullanarak hangi sat�rlara ve ya sat�r aral�klar�na etki etmek istedi�ini belirtebilirsiniz:

$ sed '3d' dosya
dosyan�n ���nc� sat�r�n� silecektir.

$ sed '2,4s/e/#/' dosya
2 ile 4'�nc� sat�rlar aras�nda (ikiside dahil) "e"'yi ilk g�r�ld��� yerde "#" ile yer de�i�tirecektir.

Yukar�da tan�mlanm�� ifadeleri kullanarak belirli bir katar� i�eren sat�r� se�ebiliriz:

$ sed '/[Qq]ueen/d' songs
"Quenn" ve ya "quenn"'i i�eren t�m sat�rlar� silecektir.

�r�nt�leri kullanarak bir dosyadaki t�m bo� sat�rlar� silmek �ok kolayd�r:

$ sed '/^$/d' dosya
bir sat�r, bo�luk karakteri i�erse bile silinmeyecektir. Bunu yapmak i�in biraz daha geni� bir �r�nt� kullanmal�y�z:
$ sed '/^ *$/d' dosya
"*" karakteri bir �nceki karakterin her var olu�unda manas�na gelir, bu durumda bo�luk (space).

$ sed '/InitMenu/a\
> the text to append' file.txt
Bu �rnek "InitMeun" katar�n� i�eren sat�r� arar ve o sat�rdan sonra yeni bir sat�r ekler. Bu �rnek sadece bash ve ya sh shelleri ile �al���r. a\'a kadar yaz�p return'e bas ve geri kalan�n� yaz.

Tcsh t�rnak i�erisinde yeni sat�r uzatmay� ba�ka bir yolla yapar. Bundan dolay� tcsh'de �ift ters b�l� kullanlamal�s�n�z:

$ sed '/InitMenu/a\
? the text to append' file.txt
? bash �rne�inde oldu�u gibi kabukdan gelir.

 

awk

Sonuncu program awk. �smi geli�tiricilerinin isminden geliyor: Alfred Aho Peter Weinberger ve Brian Kernighan.

awk Unix programlar� aras�nda en ilgin� olan�d�r. awk komut sat�r�nda geni� �e�itlilikteki i�lemleri yapmam�z� sa�layan karma��k bir ara�t�r.

Dikkatinizi �ekmi�tir ki; awk ve sed daha karma��k kabuk betiklerinin anahtar par�alar�d�r. C ve ya ba�ka bir programlama dili kullanmadan yapabilece�iniz �eyler ger�ekten eykileyicidir.Slackware Linux kurulumu herhangi bir CGI ve program� kadar iyi bir kabuk beti�idir.

Bu g�nlerde komut sat�r� ara�lar� bir kenara b�rak�ld�; ��nk� �imdiki window ortam� i�in �ok eskiler ve perl beti�inin gelmesi ile kabuk betikleri perl betikleri ile de�i�tirildi. Bu durumda komut sat�r� ara�lar� unutulacakm�� gibi g�r�lebilir; fakat benim �zel tecr�belerim g�steriyorki bir �ok uygulama birka� sat�r kabuk beti�i ile yap�labilir (k���k bir veritaban� y�netimi dahil). Bundan ayr� olarak, sat�r komutlar�n� kabu�u kullanarak �ok verimli olabilirsiniz.

E�er awk ve sed'in g�c�n� birle�tirirseniz genel olarak k���k bir veritaban� y�neticisi ile yap�lan bir i�lemi �ok �abuk bir �ekilde yapabilirsiniz.

Sat�n ald���n�z mallar�, miktarlar�n� ve �r�n ba��na fiyatlar�n� i�eren bir faturay� ele alal�m. Dosyaya "sat�slar" diyelim:

portakal 	5	250
mandalina  	3	120
elma     	2	360

Bu alan ay�r�c�s� d�zenleme i�areti olan 3 kay�tl� bir dosyad�r. �imdi toplam tutar� veren d�rd�nc� bir alan eklemek istiyoruz:

$ awk '{total=$2*$3; print $0 , total }' sat�slar
portakal	6	250	1250
mandalina	3	120	360
elma    	2	360	720

toplam ikinci ve ���nc� alanlardaki de�erlerin �arp�m�n� i�eren bir de�i�kendir. �arp�mdan sonra t�m sat�r ve toplam de�er yaz�ld�.

awk kendisi metin dosyalar�ndaki bilgilerle i�lem yapmaya uyum sa�lam�� bir programlama ortam�d�r. E�er programla ilgileniyorsan�z man ve info sayfalar�n� kullanarak bu program hakk�nda daha fazla �ey ��renebilirsiniz.

 

Kabuk betikleri

Kabuk betikleri, s�rayla �al��t�rmak i�in bir dosyada kaydedilmi� sistem komutlar�d�r.

Kabuk betikleri DOS'taki batch dosyalar�na benzer fakat onlardan daha g��l�d�r. Kullan�c�ya var olan komutlar� birle�tirerek yeni komutlar yapma �ans�n� tan�r.

Kabuk betikleri parametre alabilirler. Parametreler, $0,$1,$2'den $9'a kadar olan de�i�kenlerde saklan�rlar. Komut sat�r�ndaki t�m parametreler $* ile ifade edilebilir.

Herhangi bir metin editor� ile kabuk betikleri yarat�labilir. Beti�i ba�latmak i�in �unu yazmal�s�n:

$ sh shell-script
Ve ya, daha iyisi, bununla �al��t�rma izni de verebilirsiniz
$ chmod 700 shell-script
e bunu yazarak �al��t�r
$ shell-script

Bu makaleyi ve kabuk betikler hakk�nda tart��may� burada bitiriyoruz, kabuk betiklerini ileriye erteliyoruz. Bir sonraki makale en �ok kullan�lan Unix metin editorlerini anlatacak: vi & emacs. Her Linux kullan�c�s� bunlat� bilmeli.

 

Kaynaklar

Bu giri� d�zeyinde bir makale, kullan�c� daha fazla detay� ba�ka LinuxFocus makalelerinde bulabilir:

 

Kaynak�a

�lerideki okumalar i�in:  

Talkback form for this article

Her makalenin kendi g�r�� sayfas� vard�r. Bu sayfada makale hakk�nda yorumlar�n�z� g�nderebilir ve ba�kalr�n�n makale hakk�ndaki yorumlar�n� okuyabilirsiniz.
 talkback page 

Webpages maintained by the LinuxFocus Editor team
© Manuel Muriel Cordero, FDL
LinuxFocus.org

Click here to report a fault or send a comment to Linuxfocus

2000-11-01, generated by lfparser version 1.9