Linux geliştiricileri, bir görevi yapan ve onu iyi yapan küçük programlar oluşturma felsefesini takip eder. Örnek olarak Linux metin işleme araçlarını alın, hafiftirler ve modüler işlevselliğe sahiptirler. Bu metin işleme araçları karmaşıklık ve işlevsellik açısından farklılık gösterse de, grafik kullanıcı arabiriminin bulunmadığı bir ortamda kullanışlıdırlar.

Makale, dosyaları okumak ve seçilen metin üzerinde işlem yapmak için normal ifadeleri kullanmak için en iyi Linux araçlarını kapsar. Ayrıca, daha iyi anlaşılması için en temel işlevlerini ve örneklerini de kapsar.

1. grep

grep, bir dosyada veya metinde normal ifadeler olarak bilinen bir dizi karakter veya kalıp arayan bir Linux metin işleme yardımcı programıdır. Grep aracı, egrep, fgrep ve grep'i içeren yardımcı programlar ailesine aittir; bunların arasında fgrep en hızlı, grep ise en kolayıdır.

grep kullanımına ilişkin genel sözdizimi aşağıdaki gibidir:

grep -options dize dosya adı

Örneğin, "kök" kelimesini aramak için /etc/passwd dosyası:

instagram viewer
grep kökü /etc/passwd

Başlamak için bazı standart komut satırı örnekleri şunlardır:

Seçenekler Örnek Açıklama
-C grep -c ./bashrc Dizenin bulunduğu satır sayısını sayın
-Bence grep -i ./bashrc Belirtilen dize için büyük/küçük harfe duyarlı olmayan bir arama gerçekleştirin
grep -o dosya Yalnızca eşleşen dizeyi yazdırır
-l grep -l "parola" Geçerli dizindeki kalıpla eşleşen dosya adlarını yazdırır
-n grep -n dosya Belirtilen dizeyi içeren satır boyunca satır numarasını yazdırır
string1|string2 grep "string1|string2" dosyası Bir dosyadan birden çok dizeyi bulup yazdırır

Benzer şekilde, kullanabilirsiniz ^ belirli karakterlerle başlayan tüm eşleşen dizeleri görüntülemek için grep komutuyla metakarakter.

Örneğin, aşağıdaki komut, env komut çıktısını grep'e bir girdi olarak yönlendirir ve " ile başlayan değişkenleri görüntüler.HO":

çevre | grep ^HO

İlişkili: Linux Grep Komutlarının Pratik Örnekleri

2. awk

awk, güçlü bir betik dili ve satır satır taramalar gerçekleştirebilen ve satırları kalıplarla karşılaştırabilen bir komut satırı metin işleme aracıdır. awk komutunun temel sözdizimi, tek bir tırnak işareti ile küme parantezleri ve ardından dosya adı arasında tanımlanan bir eylemdir.

awk '{action}' dosya adı
awk '{desen; action}' dosya adı

Yardımcı program, dosyayı normal ifadeler kullanarak arar ve action parametresinde tanımlanan işlevi gerçekleştirir. awk, aşağıda gösterildiği gibi bir kalıp ayarlamazsanız, komut dosyasını her satırda yürütür:

awk '{print $1}' awk_examples.txt

...nerede $1 ilk alanını görüntüler awk_examples.txt dosya.

Aşağıdaki komut, ikinci alanı değiştirerek verilen desen üzerinde yazdırma işlevini gerçekleştirir "Dünya" ile "Alice," ve tüm satırı (0 $) görüntüler:

echo "Merhaba Dünya" | awk '{$2="Alice"; $0}' yazdır

Çıktı:

merhaba Alice

Benzer şekilde, işlevi kullanabilirsiniz. 0 $ yazdır öykünmek için yukarıdaki komuttan grep işlevsellik.

awk '/john/{$0 yazdır}' /etc/passwd
john: x: 1001:1001::/home/john:/bin/sh

3. çeşit

sort, belirtilen metin dosyasının içeriğini sıralanmış bir biçimde görüntülemenize yardımcı olan başka bir Linux komut satırı yardımcı programıdır. Örneğin, awk komutunun çıktısını, sort yardımcı programına aşağıdaki gibi bir girdi olarak aktarabilirsiniz:

awk '{baskı $1}' awk_examples.txt | sırala > sort_text.txt
kedi sort_text.txt

Çıktı:

İlişkili: Sıralama Kullanarak Linux'ta Metin Dosyaları Nasıl Sıralanır

4. sed

sed veya akış düzenleyicisi, girdiyi bir karakter akışı olarak alır ve belirtilen metin üzerinde filtreleme ve metin dönüştürmeleri (silme, değiştirme ve değiştirme) gerçekleştirir.

Bir komut dosyasında kullanabilir ve dosyaları etkileşimli olmayan bir şekilde düzenleyebilirsiniz. Bu nedenle, yardımcı programın en temel amacı, dize/karakterlerin ikamesidir. Genel sözdizimi şöyledir:

sed 's/string/substitution/option' dosyası

Bu yardımcı programın çalışmasını anlamak ve alıştırma yapmak için rastgele cümleler kullanarak bir dosya oluşturun.

" kelimesinin geçtiği yeri değiştirelim.2" ile dosyanın her satırında "2" kullanmak -G küresel değiştirme için bayrak, aşağıdaki gibi:

sed 's/two/2/g' sed_examples.txt > sed_examples2.txt

Benzer şekilde, -D dosyadan belirli bir satırı silmek için bayrak:

sed '2d' sed_examples.txt

Ayrıca bir satır numarası belirterek dizeyi değiştirebilirsiniz (4 sn/iki/2/p) ve yalnızca değiştirilen satırı aşağıdaki gibi yazdırın:

sed -n '4 s/iki/2/p' sed_examples2.txt

bu -n yukarıdaki komuttaki flag, giriş akışının çıkışa otomatik olarak yazdırılmasını devre dışı bırakır. Grep yardımcı programı işlevini sed ile değiştirmek için bu seçeneği lehinize kullanabilirsiniz.

Örneğin, yukarıdaki komutu yalnızca bir normal ifade kalıbı ekleyerek değiştirebilirsiniz. /two/p öyle ki -P flag yalnızca satırları standart çıktı akışına yazdırır.

sed -n '/iki/p' sed_examples2.txt

İlişkili: Bu 10 sed Örnek Sizi Linux'ta Uzman Bir Kullanıcı Yapacak

5. kesmek

Cut, bir satırdan veya dosyadan metnin bölümlerini kesen/çıkaran başka bir komut satırı yardımcı programıdır. Metni belirli bir alan, karakter veya bayt konumuna göre keser ve sonucu standart çıktıya iletir.

Yardımcı program aşağıdaki sözdizimini alır:

kesmek  dosya

Kullan -B belirli bir bayt veya bir bayt aralığı kullanarak bölüm veya içeriği kesme seçeneği:

cut -b 1 cut_examples.txt

Kullan -C karakterlerin konumlarını belirterek metni çıkarmak için bayrak:

cut -c 1,3,5 cut_examples.txt

Son olarak, alanları belirterek de metin ayıklayabilirsiniz. -F seçenek ve -D boşluk veya alan sınırlayıcı için:

cut -d " " -f 1 cut_examples.txt

İşte karakterle kullanabileceğiniz örnekler ve açıklamalar içeren aralıkların listesi -C ve bayt -B seçenekler:

Menzil Örnek Açıklama
n- cut -c 7- dosya adı n. tamsayıdan satırın sonuna kadar karakter ayıkla
n-m cut -b 7-15 dosya adı Girdi dosyasındaki her satırın n-m tamsayısından ayıklar
-m cut -c -7 dosya adı m'den başlayarak satırın sonuna kadar olan satırları ayıklar

alanını kullanarak metin çıkarma aralıklarını tanımlayamayacağınızı unutmayın. -F seçenek.

Linux Komutlarıyla Metni Manipüle Etme

Linux, dosyaları veya metinleri işlemek ve bunlar üzerinde çalışmak için birçok program ve araç sunar. sed'i grep veya awk'yi grep olarak kullanmak gibi, birini iyi bir şekilde kavradığınızda, boşluğu bir başkasıyla kolayca doldurabileceğiniz için hepsini öğrenmek gerekli olmayabilir, ancak bu her araç için geçerli olamaz.

Ayrıca, Linux komutlarının dik bir öğrenme eğrisi vardır, ancak bir kez beceriyi geliştirdiğinizde, herhangi bir Linux kullanıcısının, özellikle bir sistem yöneticisinin hayatında çok yararlı ve etkili olduklarını kanıtlayabilirler.

Gelişmiş Linux Üretkenliği için En İyi 8 Terminal Uygulaması

Linux'a önceden yüklenmiş olarak gelen eski ve sıkıcı terminal uygulamasından bıktınız mı? İş akışınızı geliştirecek bu sekiz terminal uygulamasına göz atın.

Sonrakini Oku

PaylaşCıvıldamakE-posta
İlgili konular
  • Linux
  • Linux Komutları
Yazar hakkında
Rumaisa Niazi (7 Makale Yayımlandı)

Rumaisa, MUO'da serbest yazar. Bir Matematikçiden Bilgi Güvenliği meraklısına kadar pek çok şapka taktı ve şu anda bir SOC Analisti olarak çalışıyor. İlgi alanları arasında yeni teknolojiler, Linux dağıtımları ve Bilgi Güvenliği ile ilgili her şey hakkında okuma ve yazma yer almaktadır.

Rumaisa Niazi'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın