awk

'awk' Kullanarak İlk Sütun veya Son Sütun veya Her İkisi Nasıl Yazdırılır

'awk' Kullanarak İlk Sütun veya Son Sütun veya Her İkisi Nasıl Yazdırılır

Linux'un 'awk' komutu, metin dosyalarında arama, değiştirme ve yazdırma gibi farklı işlemler için güçlü bir yardımcı programdır. Her satırı alan ayırıcıya göre otomatik olarak alanlara veya sütunlara ayırdığı için tablo verileriyle kullanımı kolaydır. Tablo verileri içeren bir metin dosyasıyla çalıştığınızda ve belirli bir sütunun verilerini yazdırmak istediğinizde, 'awk' komutu en iyi seçenektir. Bu öğreticide, bir satırın veya metin dosyasının ilk sütununu ve/veya son sütununu nasıl yazdıracağınızı göstereceğiz.

Bir komut çıktısının ilk sütununu ve/veya son sütununu yazdırın

'ls' komutu gibi birçok Linux komutu tablo şeklinde çıktılar üretir. Burada, 'ls -l' komutunun çıktısından ilk sütunu ve/veya son sütunu nasıl yazdıracağınızı göstereceğiz.

Örnek 1: Bir komut çıktısının ilk sütununu yazdırın

Aşağıdaki 'awk' komutu, 'ls -l' komutunun çıktısından ilk sütunu yazdıracaktır.

$ ls -l
$ ls -l | awk ' print $1 '

Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir.

Örnek 2: Bir komut çıktısının son sütununu yazdırın

Aşağıdaki 'awk' komutu, 'ls -l' komutunun çıktısından son sütunu yazdıracaktır.

$ ls -l
$ ls -l | awk ' $NF yazdır '

Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir.

Örnek 3: Bir komut çıktısının ilk ve son sütunlarını yazdırın

Aşağıdaki 'awk' komutu, 'ls -l' komutunun çıktısından ilk ve son sütunları yazdıracaktır.

$ ls -l
$ ls -l | awk ' print $1,  $NF '

Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir.

Bir metin dosyasının ilk sütununu ve/veya son sütununu yazdırın

Burada, bir metin dosyasının ilk sütununu ve/veya son sütununu yazdırmak için 'awk' komutunu nasıl kullanacağınızı göstereceğiz.

Bir metin dosyası oluşturun

Bu öğreticiyi takip etmek için adlı bir metin dosyası oluşturun müşteriler.Txt aşağıdaki içerikle. Dosya üç tür müşteri verisi içerir: kimlikli ad, e-posta ve telefon numarası. Bu değerleri ayırmak için sekme karakteri (\t) kullanılır.

İsim E-posta Telefon
Jonathon Bing - 1001 [e-posta korumalı] 01967456323
Micheal Jackson - 2006 [e-posta korumalı] 01756235643
Janifer Lopez - 3029 [e-posta korumalı] 01822347865
John Abraham - 4235 j[e-posta korumalı] 01590078452
Mir Sabbir - 2756 [e-posta korumalı] 01189523978

Örnek 4: Alan ayırıcı kullanmadan dosyanın ilk sütununu yazdırın

'awk' komutunda alan ayırıcı kullanılmıyorsa, varsayılan alan ayırıcı olarak bir boşluk kullanılır. Aşağıdaki 'awk' komutu, varsayılan ayırıcıyı kullanarak ilk sütunu yazdıracaktır.

$ kedi müşterileri.Txt
$ awk 'print $1' müşterileri.Txt

Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Boşluk alan ayırıcı olarak uygulandığından çıktının yalnızca müşterinin adını gösterdiğine dikkat edin. Bu sorunun çözümü bir sonraki örnekte gösterilmiştir.

Örnek 5: Bir dosyanın ilk sütununu sınırlayıcı ile yazdırın

Burada \t, dosyanın ilk sütununu yazdırmak için alan ayırıcı olarak kullanılır. Alan ayırıcısını ayarlamak için '-F' seçeneği kullanılır.

$ kedi müşterileri.Txt
$ awk -F '\t' 'print $1' müşteriler.Txt

Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Dosyanın içeriği, \t'ye göre üç sütuna bölünmüştür. Bu nedenle, müşterinin adı ve kimliği ilk sütun olarak yazdırılır. Kimlik olmadan müşterinin adını yazdırmak istiyorsanız sonraki örneğe geçin.


Kimlik olmadan müşterinin adını yazdırmak istiyorsanız, alan ayırıcı olarak '-' kullanmanız gerekir. Aşağıdaki 'awk' komutu, müşterinin adını yalnızca ilk sütun olarak yazdıracaktır.

$ kedi müşterileri.Txt
$ awk -F '-' 'print $1' müşteriler.Txt

Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Çıktı, kimlikleri olmadan müşterilerin tam adlarını içerir.

Örnek 6: Bir dosyanın son sütununu yazdırın

Aşağıdaki 'awk' komutu, müşterilerin son sütununu yazdıracaktır.Txt. Komutta alan ayırıcı kullanılmadığından, boşluk alan ayırıcı olarak kullanılacaktır.

$ kedi müşterileri.Txt
$ awk 'print $NF' müşterileri.Txt

Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı üretilecektir. Son sütun, çıktıda gösterildiği gibi telefon numaralarını içerir.

Örnek 7: Bir dosyanın ilk ve son sütunlarını yazdırın

Aşağıdaki 'awk' komutu müşterilerin ilk ve son sütunlarını yazdıracaktır.Txt. Burada, içeriği sütunlara bölmek için alan ayırıcı olarak sekme (\t) kullanılır. Burada, sekme (\t) çıktı için ayırıcı olarak kullanılır.

$ kedi müşterileri.Txt
$ awk -F "\t"  'print $1 "\t"  $NF' müşteriler.Txt

Yukarıdaki komutları çalıştırdıktan sonra aşağıdaki çıktı görünecektir. İçerik \t ile üç sütuna bölünmüştür; ilk sütun müşterinin adını ve kimliğini, ikinci sütun ise telefon numarasını içerir. İlk ve son sütunlar ayırıcı olarak \t kullanılarak yazdırılır.

Sonuç

'awk' komutu, herhangi bir komut çıktısından veya tablo verisinden ilk sütunu ve/veya son sütunu almak için farklı şekillerde uygulanabilir. Komutta bir alan ayırıcının gerekli olduğunu ve eğer sağlanmadıysa boşluk kullanıldığını not etmek önemlidir.

How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...