RSS

AWK: Hızlı ve kirli

26 Aug

Bir akşam vakti Allegro Common Lisp’in 8.1 sürümündeki AllegroGraph belgelerine bakarken bir arkadaşınız gelip “iki dosyadaki ilk iki sütunu kıyaslayıp bunlar aynı ise ikinci dosyadaki ilgili satırın tamamını basan bir şey lazım awk ile,” derse ne yaparsınız? Tabii ki favori editörünüz GNU Emacs‘ta yeni bir ‘buffer’ açıp hızlı ve kirli bir awk kodu yazarsınız:

BEGIN {
  while (((getline deneme1 < "deneme1.txt") > 0) && ((getline deneme2 < "deneme2.txt")) > 0) {
   n1 = split(deneme1, array1, " ");
   n2 = split(deneme2, array2, " ");

   if (array1[0] == array2[0] && array1[1] == array2[1]) {
     print deneme2
   }
  }
}

Ve böylece iki dosya üzerinden gerekli kıyaslama ve işlemi yapmış olursunuz. Ardından arzunuza göre gerekli modifikasyonları gerçekleştirip servis yapabilirsiniz.

Advertisements
 
Leave a comment

Posted by on August 26, 2007 in awk, General, Programlama

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: