Kes (Unix) - cut (Unix) - Wikipedia

kesmek
Orijinal yazar (lar)AT&T Bell Laboratuvarları
Geliştirici (ler)Çeşitli açık kaynak ve ticari geliştiriciler
İlk sürümŞubat 1985; 35 yıl önce (1985-02)
İşletim sistemiUnix, Unix benzeri, IBM i
PlatformÇapraz platform
TürKomut
LisansCoreutils: GPLv3 +

İçinde bilgi işlem, kesmek bir Komut satırı yardımcı program açık Unix ve Unix benzeri işletim sistemleri bu, her girdi satırından bölümleri çıkarmak için kullanılır - genellikle bir dosya. Şu anda, GNU coreutils paket ve BSD Temel Sistem.

Çizgi segmentlerinin çıkarılması tipik olarak şu şekilde yapılabilir: bayt (-b), karakterler (-c) veya alanlar (-f) bir sınırlayıcıyla ayrılmış (-d - sekme karakteri varsayılan olarak). Her durumda, aşağıdakilerden birini içeren bir aralık sağlanmalıdır: N, N-M, N- (N satırın sonuna kadar) veya -M (satırın başlangıcından M), burada N ve M 1'den sayılır (sıfırıncı değer yoktur). Sürüm 6'dan bu yana, sıfırıncı bir değer eklerseniz bir hata atılır. Bundan önce, değer göz ardı edildi ve 1 olduğu varsayıldı.

Tarih

kesmek parçasıdır X / Açık Taşınabilirlik Kılavuzu 1987'nin 2. sayısından beri. POSIX.1'in ilk sürümüne ve Tek Unix Spesifikasyonu.[1] İlk ortaya çıktı AT&T Sistemi III UNIX 1982'de.[2]

Versiyonu kesmek paketlenmiş GNU Coreutils David M. Ihnat, David MacKenzie ve Jim Meyering tarafından yazılmıştır.[3]

kesmek komut aynı zamanda IBM i işletim sistemi.[4]

Örnekler

"Adlı bir dosya varsayarsakdosya"satırları içeren:

foo: bar: baz: qux: quuxone: iki: üç: dört: beş: altı: yedialpha: beta: gama: delta: epsilon: zeta: eta: theta: iota: kappa: lambda: çok hızlı kahverengi tilki tembellerin üzerinden atlar köpek

Her satırın dördüncü ila onuncu karakterlerinin çıktısını almak için:

$ kesim -c 4-10 dosya: bar: ba: iki: inciha: beta hızlı

Beşinci alanın çıktısını kullanarak her satırın satırının sonundan iki nokta üst üste karakteri alan sınırlayıcı olarak:

$ kesim -d ":" -f 5- dosyaquuxbeş altı yediepsilon: zeta: eta: theta: iota: kappa: lambda: muhızlı kahverengi tilki tembel köpeğin üzerinden atlar

(unutmayın çünkü iki nokta üst üste karakteri son satırda bulunmazsa tüm satır gösterilir)

Seçenek -d alan ayırıcı görevi gören tek bir karakter sınırlayıcı (yukarıdaki örnekte iki nokta üst üste) belirtmiştir. Seçenek -f çıktıya dahil edilen alanların aralığını belirtir (buradaki alanlar beşten sona kadar değişir). Seçenek -d seçeneğin kullanımını öngörür -f.

Alan sınırlayıcı olarak boşluk kullanarak her satırın üçüncü alanını çıkarmak için:

$ kesim -d " " -f 3 dosyafoo: bar: baz: qux: quuxbir iki üç dört beş altı yedialpha: beta: gamma: delta: epsilon: zeta: eta: theta: iota: kappa: lambda: muKahverengi

(Boşluk karakteri ilk üç satırda bulunmadığından bu tüm satırların gösterildiğini unutmayın.)

Herhangi bir sınırlayıcıya sahip iki kelimeyi ayırmak için:

$ hat=process.processid$ kesim -d "." -f1 <<< $ linesüreç$ kesim -d "." -f2 <<< $ lineişlem kimliği

Sözdizimi

kes [-b listesi] [-c listesi] [-f listesi] [-n] [-d sınırlandır] [-s] [dosya]

Kullanılabilecek bayraklar şunları içerir:

-b
Bayt; takip eden bir liste -b bir aralığı belirtir bayt iade edilecek, ör. kesim -b1-66 bir satırın ilk 66 baytını döndürür. NB ile birlikte kullanılırsa -n, Hayır çoklu bayt karakterler bölünecek. NNB. -b yalnızca 1023 bayttan küçük giriş satırlarında çalışacak
-c
Karakterler; takip eden bir liste -c döndürülecek bir karakter aralığını belirtir, ör. kesim -c1-66 bir satırın ilk 66 karakterini döndürür
-f
İle ayrılmış bir alan listesi belirtir sınırlayıcı
liste
Virgülle ayrılmış veya boşlukla ayrılmış, tamsayı ile belirtilen alanların artımlı sıralı listesi. - gösterge, alan aralıklarının dahil edilmesine izin vermek için kısaltma olarak sağlanabilir, örn. 4-6 4-6 aralıkları için veya 5- 5. alanın kısaltması olarak, vb.
-n
-B ile birlikte kullanıldığında bölünmeleri bastırır çok baytlı karakterler
-d
Sınırlayıcı; hemen ardından gelen karakter -d seçenek, ile birlikte kullanım için alan sınırlayıcıdır -f seçenek; varsayılan sınırlayıcı sekme. Uzay ve diğer karakterler bağlamında özel anlamları olan kabuk kullanımda gerektiği şekilde kodlanmalı veya kaçılmalıdır.
-s
Alan sınırlayıcı içermeyen satırları atlar. -f aksi belirtilmedikçe belirtilmiştir.
dosya
Girdi olarak işlenecek dosya (ve gerekirse eşlik eden yol). Dosya belirtilmezse standart girdi kullanılacak.

Ayrıca bakınız

Referanslar

  1. ^ kesmek - Komutlar ve Yardımcı Programlar Referansı, Tek UNIX Spesifikasyonu, Sayı 7 Açık Grup
  2. ^ kesim (1) – FreeBSD Genel Komutlar Manuel
  3. ^ kesim (1) – Linux Genel Komutlar Manuel
  4. ^ IBM. "IBM System i Sürüm 7.2 Programlama Qshell" (PDF). Alındı 2020-09-05.

Dış bağlantılar