Bash Script Yazmaya Giriş
Alex Scriven
Data Scientist
Bu derste şunlar işlenecek:
Önce, neden Bash?
Bash, 'Bourne Again Shell'in kısaltmasıdır (bir kelime oyunu)
80’lerde geliştirildi, bugün hâlâ çok popüler. Birçok Unix sisteminde, Mac’te varsayılan
Unix internettir! (ML Modelleri, Veri Boru Hatları)
Peki neden Bash betikleme?
Bu ders için temel bilginiz olması beklenir.
cat, grep, sed gibi temel komutları kullanmış olmakPaslandıysanız sorun değil — şimdi hızlıca tekrar edeceğiz!
Bazı önemli kabuk komutları:
(e)grep regex eşleşmesine göre girişi filtrelercat dosya içeriklerini satır satır birleştirirtail / head yalnızca son -n satırı verir (bir bayrak)wc kelime/ satır sayımı yapar (-w -l bayraklarıyla)sed desenle eşleşen dize değiştirme yapar'Regex' ya da düzenli ifadeler, Bash betikleme için temel bir beceridir.
Sıkça dosyaları, dosya içi veriyi, argümanları vb. filtrelemeniz gerekir. Bunu tazelemeye değer.
Regex'i test etmek için regex101.com gibi siteleri kullanabilirsiniz
Bazı kabuk komutlarını bir örnekle gözden geçirelim.
3 satırlık fruits.txt adlı bir metin dosyası düşünün:
banana
apple
carrot
grep 'a' fruits.txt çalıştırırsak şunu alırız:
banana
apple
carrot
Ama grep 'p' fruits.txt çalıştırırsak şunu alırız:
apple
Köşeli parantezler [eyfv] gibi bir eşleşme kümesidir. ^ kullanmak ters küme yapar (bu harf/rakamlar DEĞİL)
Bu yüzden grep '[pc]' fruits.txt çalıştırırsak şunu alırız:
apple
carrot
Terminalde muhtemelen “pipe” kullandınız. Dosyada çok fazla meyve olsaydı sort | uniq -c kullanabilirdik
wc -l ve head ile pipe edebilirizcat new_fruits.txt | sort | uniq -c | head -n 3
14 apple
13 bannana
12 carrot
Bash Script Yazmaya Giriş