[ShellScript]Ders 19: wc, type, cut

Kronos

Yönetme Gücünü Elinde Bulunduran Kişi
Yönetici
Wc : Herhangi bir dosyanın sahip olduğu, "byte sayısı", "satır sayısı" ve "kelime sayısı" bilgilerini gösterir. Bir kaç opsiyon alabilmektedir.
-c Byte sayısı, dosyanın kaç Byte'tan oluştuğu.
-m Karakter sayısı.
-l Satır sayısı.
-L En uzun satır uzunluğu.
-w Kelime sayısı.
--files0-from=F Wc, yenisatır, kelime, Byte sayısını okur, eğer herhangi bir FILE(dosya) belirtilmemiş ise standart okuma olarak işlemi gerçekleştirir.
--help Yardım sayfası.
--version Versiyon bilgileri.
Kullanımı, wc -opsiyon dosya-adi şeklinde olmaktadır. Şimdi çalışma dizini içerisinde bir adet "kodx" adında dosya oluşturalım ve dosya içeriği aşağıdaki gibi olsun.
[alax@alax script]$ nano kodx exec: Yeni bir program çalıştırma. cd: Dizin değiştirme. |: Pipe, boru çıkışı. ls: Listeleme. echo: Çıktıları göster, yazdır. eval: Argümanları değerlendirir. fg: Önplan işlemleri. bg: Arkaplan işlemleri. kill: Çalışan işlemleri kapatma. shift: Pozisyon ilerletme. suspend: Önplandaki işlemi askıya al. stop: Arkaplandaki işlemleri askıya al. umask: Dosya izinlerini ayarla/göster. jobs: Aktif işlemleri göster. >: Çıkış. <: Giriş. &: İşlemi arkaplanda çalıştır. []: Aralıktaki herhangi bir karakter. *: İçerisindeki bütün karakter(ler). (): Alt Shell'de çalıştır. $degisken: "degisken" adlı değişkenin değeri. $$: İşlem ID numarası. $0: Komut satırı adı. $n: n. değer.(n değeri 0 ile 9 arasında olabilir.) #: Yorum ekleme. [alax@alax script]$
Dosyayı kaydedelim ve çıkalım. Şimdi dosya kaç Byte, dosyadaki, satır, kelime vb.. bilgilerine bakalım.
[alax@alax script]$ wc -c kodx 790 kodx [alax@alax script]$ wc -l kodx 25 kodx [alax@alax script]$ wc -w kodx 98 kodx [alax@alax script]$ wc -L kodx 50 kodx [alax@alax script]$ cat kodx | wc -l 25 [alax@alax script]$
type : Herhangi bir komut hakkında bilgileri gösterir. Komutun türü özelliği gibi bilgilerini göstermeye yarar. Kullanımı, type -opsiyonlar komut şeklinde olmaktadır.
-a Çalıştırılabilir komuta ait tüm olayları. Ayrıca -p parametresi kullanılmadığı zaman aliasları, builtin(yerleşik), fonksiyonları da gösterir.
-f Gizli Shell fonksiyon aramaları.
-P Alias, builtin, fonksiyona ait dosya yolu.
-p Çalıştırılabilir disk dosyası adı.
-t Sadece komut tipi.
Şimdi bir kaç örnek yapalım.
[alax@alax script]$ type ssh ssh is /usr/bin/ssh [alax@alax script]$ type -t ssh file [alax@alax script]$ type -P cat /usr/bin/cat [alax@alax script]$ type echo echo is a shell builtin [alax@alax script]$ type -a echo echo is a shell builtin echo is /usr/bin/echo [alax@alax script]$
Cut : Belirtilen herhangi bir veriyi, kelimeyi dosya içerisinde her satırdan kesme işlemi yapar. Kullanımı, cut -opsiyonlar dosya_adi şeklinde olmaktadır.
-b Byte, belirtilen Byte'ları göster. Sayısal değer alır.
-c Karakter, belirtilen yerdeki karakterleri göster. Sayısal değer alır.
-d Sınırlayıcı, bölüm ayırıcı. Mesela Tab yerine istenilen başka bir ayraç ile işlem yapılabilir.
-f Sadece belirli alanları seçme, -s opsiyonu belirtilmediği zaman içerisinde ayraç olmayan satırları da seçer.
-n Birden fazla bayttan oluşan karakterkleri parçalamama, -b ile beraber.
--complement Seçilen bayt, karakter veya alanları tamamla.
-s Belirlenen ayracın olmadığı satırları saklama, göstermeme.
--output-delimiter=Kelime Çıktı için "Kelime" ayracını kullan.
--help Yardım sayfası.
--version Versiyon bilgileri.
Şimdi "kodx" dosyası üzerinde birkaç örnek yapalım.
[alax@alax script]$ cut -c 3 kodx # Her satırdaki 3. karakterler. e : : h a : : l i s o a b : : e : : : [alax@alax script]$ cut -c 1-3 kodx # 1. ve 3. karakterler arası. exe cd: |: ls: ech eva fg: bg: kil shi sus sto uma job >: <: &: []: *: (): $de $$: $0: $n: #: [alax@alax script]$
Şimdi her satırdan beşinci karakterden itibaren satır sonuna kadar kesme işlemi yapalım. Satır sonu tire "-" ile belirtilir.
[alax@alax script]$ cut -c5- kodx : Yeni bir Shell çalıştırma. Dizin değiştirme. ipe, boru çıkışı. Listeleme. : Çıktıları göster, yazdır. : Argümanları değerlendirir. Önplan işlemleri. Arkaplan işlemleri. : Çalışan işlemleri kapatma. t: Pozisyon ilerletme. end: Önplandaki işlemi askıya al. : Arkaplandaki işlemleri askıya al. k: Dosya izinlerini ayarla/göster. : Aktif işlemleri göster. çıkış. iriş. işlemi arkaplanda çalıştır. Aralıktaki herhangi bir karakter. içerisindeki bütün karakter(ler). Alt Shell'de çalıştır. isken: "degisken" adlı değişkenin değeri. İşlem ID numarası. Komut satırı adı. n. değer.(n değeri 0 ile 9 arasında olabilir.) orum ekleme. [alax@alax script]$
Şimdi "/etc/passwd" dosyası içerisinden birinci alandaki verileri çekelim. Bu arada ayracı ":" olarak ayarlayalım, dosya yapısından dolayı.
[alax@alax script]$ cut -d':' -f1 "/etc/passwd" root bin daemon mail ftp http uuidd dbus nobody systemd-journal-gateway systemd-timesync systemd-network systemd-bus-proxy systemd-resolve systemd-journal-remote systemd-journal-upload polkitd alax avahi colord mysql [alax@alax script]$
Şimdi yukarıdaki örneğe ilaveten yedinci alandaki verileri de çekelim.
[alax@alax script]$ cut -d':' -f1,7 "/etc/passwd" root:/bin/bash bin:/usr/bin/nologin daemon:/usr/bin/nologin mail:/usr/bin/nologin ftp:/usr/bin/nologin http:/usr/bin/nologin uuidd:/usr/bin/nologin dbus:/usr/bin/nologin nobody:/usr/bin/nologin systemd-journal-gateway:/usr/bin/nologin systemd-timesync:/usr/bin/nologin systemd-network:/usr/bin/nologin systemd-bus-proxy:/usr/bin/nologin systemd-resolve:/usr/bin/nologin systemd-journal-remote:/sbin/nologin systemd-journal-upload:/sbin/nologin polkitd:/usr/bin/nologin alax:/bin/bash avahi:/bin/nologin colord:/bin/false mysql:/bin/false [alax@alax script]$
Şimdi birinci alan ile üçüncü alanlar arasındaki verileri çekelim.
[alax@alax script]$ cut -d':' -f1-3 "/etc/passwd" root:x:0 bin:x:1 daemon:x:2 mail:x:8 ftp:x:14 http:x:33 uuidd:x:68 dbus:x:81 nobody:x:99 systemd-journal-gateway:x:191 systemd-timesync:x:192 systemd-network:x:193 systemd-bus-proxy:x:194 systemd-resolve:x:195 systemd-journal-remote:x:998 systemd-journal-upload:x:999 polkitd:x:102 alax:x:1000 avahi:x:84 colord:x:124 mysql:x:89 [alax@alax script]$
Şimdi "/etc/passwd" dosyası içerisinde "root" ile başlayan satır içerisinden, ayracı ":" olarak belirleyerek, beşinci kısım hariç diğer kısımları tamamlayarak çekme işlemi yapalım.
[alax@alax script]$ grep "^root" /etc/passwd | cut -d':' --complement -s -f5 root:x:0:0:/root:/bin/bash [alax@alax script]$
Son olarak yukarıdaki örneği, çıktı ayracı kare "#" olacak şekilde kullanalım.
[alax@alax script]$ grep "^root" /etc/passwd | \ cut -d':' --complement -s -f5 --output-delimiter='#' root#x#0#0#/root#/bin/bash [alax@alax script]$
Çıktı ayracını istediğiniz şekilde değiştirebilirsiniz. Mesela her alanı satır atlatarak yazdırmak isteseydik, o zaman yeni satır(newline) karakterini kullanmamız gerekecekti. "--output-delimiter=$'\n'" şeklinde. Yukarıda tabloda verilen opsiyonları kurallar gereğince istediğiniz şekilde kullanabilirsiniz. Lütfen dersler ile ilgili pratik yapınız. Biz sadece komutların örnek kullanımlarını sizlere sunmaktayız. Hangi komutu nasıl ve nerede kullanacağınız sizlere kalmış.
 
türk porno porno porno izle eryaman escort diyarbakır escort
Üst