Linux’ta ‘awk’ komutunun birçok kullanımı vardır. Örneğin, bir metin dosyasının içeriğini yazdırmak için kullanılabilir. Birçok metin dosyasının ilk satırı dosya adresini içerir ve bazen dosyanın içeriği yazdırılırken ilk satırın atlanması gerekir. Bu öğreticide, size ‘awk’ komutunu kullanarak bu görevi nasıl gerçekleştireceğinizi göstereceğiz.
Bir metin dosyası oluşturun
Bu öğreticiyi takip etmek için sekmeyle ayrılmış bir metin dosyası oluşturun. Kitap listesi Aşağıdaki içerik ile. Bu dosya, yazarlarıyla birlikte kitapların bir listesini içerir. Bu öğreticide, ilk satırı atladıktan sonra bu dosyanın farklı bölümlerini nasıl yazdıracağınızı göstereceğiz.
Paul Troncon, Karl Albing ile Siber Güvenlik
Komut satırı Kung Fu Jason Cannon
Linux Travis Booth komut satırı
Kolay Adımlarda Bash Mike McGrath
Kolay adımlarla Unix Mike McGrath
Örnek 1: NR ve “>” operatörü ile bir dosyanın ilk satırını atlama
NR değişkeni, dosyadaki kayıt sayısını temsil eder. Aşağıdaki “awk” komutu, dosyanın ilk satırını atlamak için NR değişkenini kullanır. İlk satır için NR değeri 1’dir. Aşağıdaki komut, NR değeri 1’den büyük olan satırları yazdıracaktır.
$ kedi Kitap listesi
$ awk(KA > 1) Kitap listesi
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Çıktı, dosyanın ilk satırı dışındaki tüm satırları içerir.
Örnek 2: NR ve “!=” operatörü ile ilk satırın atlanması
Aşağıdaki “awk” komutu önceki örneğe benzer. Ancak, karşılaştırma operatörü ‘! =’ yerine ‘>’.
$ kedi Kitap listesi
$ awk“Hayır! = 1” Kitap listesi
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Çıktı, dosyanın ilk satırı dışındaki tüm satırları gösterir.
Örnek 3: Bir dosyanın ilk satırını koşullu ifade kullanarak atlama
Aşağıdaki “awk” komutu, if ifadesi doğruysa dosya satırlarını yazdıracaktır. Burada if ifadesi yalnızca NR’nin değeri 1’e eşit olmadığında doğrudur.
$ kedi Kitap listesi
$ awk“{eğer (NR ! = 1) {yazdır}}” Kitap listesi
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Çıktı, dosyanın ilk satırı dışındaki tüm satırları içerir.
Örnek 4: Bir dosyadan kitap adlarını yazdırın ancak ilk satırı atlayın
Bu örnekte, ilki hariç tüm kitap adlarını yazdırmak için iki “awk” komutu kullanılmıştır. ‘awk’ komutu dosyadaki ilk sütunu alan ayırıcıya (\t) göre okuyacak ve çıktıyı ikinci ‘awk’ komutuna gönderecektir. İkinci “awk” komutu istenen çıktıyı yazdıracaktır.
$ kedi Kitap listesi
$ awk-F“\ T““{1 $ yazdır}” Kitap listesi |awk“NR! = 1 {yazdır}”
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Çıktı, ilk kitap hariç tüm kitap başlıklarını görüntüler.
Örnek 5: İlk satırı atladıktan sonra dosya içeriğini biçimlendirme
Aşağıdaki “awk” komutundaki “-F” seçeneği, NR değişkeni ve printf işlevi, ilk satırı atladıktan sonra biçimlendirilmiş çıktı oluşturmak için kullanılır. Komut, dosyanın içeriğini \t’ye göre sütunlara böler ve NR değeri en az 2 olduğunda printf birinci ve ikinci sütunları yazdırır.
$ kedi Kitap listesi
$ awk-F“\t”‘NR>=2{printf “%30s%20s\n”, $1, $2}’ Kitap listesi
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Çıktı, dosyanın ilk satırı dışında dosyanın biçimlendirilmiş içeriğini gösterir.
Örnek 6: İlk satırı atladıktan sonra NR ve NF ile kitap adlarını yazdırma
Aşağıdaki “awk” komutu, ilk kitap atlandıktan sonra kitapların adlarını yazdırmak için “-F” seçeneğini, NR ve NF’yi kullanır. “-F” seçeneği, dosya tabanının içeriğini \t’ye ayırmak için kullanılır. NR ilk satırı atlamak için kullanılır ve NF sadece ilk sütunu yazdırmak için kullanılır.
$ kedi Kitap listesi
$ awk-F“\t”“NR > 1 && NF = 1” Kitap listesi
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Çıktı, ilk kitap dışında dosyadaki tüm kitap adlarını içerir.
Örnek 7: Biçimlendirilmiş yazar adları, ilk satır atlandıktan sonra yazdırılıyor
Aşağıdaki “awk” komutu, ilk satırı atladıktan sonra yazar adlarını yazdırmak için “-F” seçeneğini ve koşullu bir ifadeyi kullanır. Burada if koşulunda NR değeri kullanılır. Burada ilk satırdaki içerik yerine ilk satır olarak “Yazar Adı: \n\n” yazılacaktır. Diğer NR değerleri için yazarların isimleri dosyada yazdırılacaktır.
$ kedi Kitap listesi
$ awk-F“\t”‘{if (NR == 1) printf “\n Yazar Adı: \n \n”; başka printf “%s\n”, $2}’ Kitap listesi
Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Çıktı, “Yazar Adı:” metnini yeni bir satırla görüntüler ve ilk ad dışındaki tüm yazar adları yazdırılır.
çözüm
Dosyanın ilk satırı, çeşitli Linux komutları kullanılarak atlanabilir. Bu eğitimde gösterildiği gibi, “awk” komutunu kullanarak bir dosyanın ilk satırını atlamanın çeşitli yolları vardır. Önemli bir şekilde, “awk” komutunun NR varyantı, herhangi bir dosyanın ilk satırını atlamak için kullanılabilir.
Diğer gönderilerimize göz at
[wpcin-random-posts]
İlk Yorumu Siz Yapın