Bir süredir Linux kullanıcısıyım ve genel komut satırı yardımcı programlarının çoğunu oldukça iyi anlıyorum. Bununla birlikte, programlama ile ilgili olarak tekrar tekrar ortaya çıkanlar
grep,
awk ve
sed.
Grep için kullandığım tek şey, günlük dosyalarındaki dosyaları,
ps vb. Çıktılarını bulmak için içine bir şeyler eklemek.
awk veya
sed'yi hiç kullanmadım. Bu yardımcı programlar için iyi öğreticiler var mı?
O'Reilly sed ve awk kitap er sed ve awk için harikadır.
Bir öğretici içeren
sed— sed için Kesin Kılavuz - adlı bir kitap yazdım.
sed ve
grep,
tr,
head ve
tail gibi ilgili komutları tamamen kapsar. Ayrıca düzenli ifadeleri tamamen başka bir yerde gördüğümden daha iyi kapsar.
Düzenli ifadelerin iyi anlaşılmasının çok önemli olduğuna başkalarıyla katılıyorum. Ayrıca
sed en basit görevler için kullanıldığını kabul ediyorum, daha karmaşık betikler çabuk anlaşılmaz hale geliyor.
awk 'ın eski, tam tersi olduğunu kabul etmiyorum. Pek çok unix gibi (ör.
vi), bir öğrenme eğrisi var, ama buna değer.
awk yerine
grep kullanma önerisine katılmıyorum. Deneyimlerimde bir anlam ifade etmiyor.
grep çok harika ve basit.
O'Rielly tarafından yayınlanan Düzenli İfadeler Yemek Kitabı, sizi bunları kullanan herhangi bir dilde herhangi bir yere götürmek için yeterli olacaktır.
Kitabın yazarları Kernighan ve Pike başlığı "Unix Programlama Ortamı" gibi bir şey.
Aslında öğrendiğim kitaba "Berkeley Unix'e Giriş" adı verildi.
Eğer bu 3 taneden birini öğrenecekseniz (grep, sed ve awk), sadece awk/gawk. öğrenebilirsiniz. awk, grep ve sed işlevlerini yapabilir, yani metin aramak/değiştirmek için regex kullanmak, ayrıca bir programlama dili olduğundan. Eğer gawk/awk'nin iç çıkışlarını öğrenirseniz, grep/sed/wc/cut vb. Kullanmanız gerekmez. Sadece bir araç bunu yapar.
Bence awk az ya da çok eski (ancak diğerleri bu görüşü güçlü bir şekilde tartışacak), bugünlerde tanıdığım çoğu insan bunun yerine Perl gibi bir kod dili kullanıyor ya da bugün sık sık python sed basit metin manipülasyon görevleri için harika, ben her zaman kullanıyorum.Örneğin http: //sed.sourceforge.net/sed1line.txt adresindeki gibi sed tek gömleklerine bakarak öğrendim. . Grep ile ilgili: Peki temelde düzenli ifadeleri (sed için de gerekli) sağlam bir anlayış elde etmek istiyorum.Burada sadece texinfo kılavuzları kullandım.