Linux'ta olağandışı işlevlere sahip birkaç komut bulabilirsiniz. Böyle bir komut, belirtilen argümanlara bağlı olarak bir sayı dizisi çıktısı veren seq'dir.
Ama size bir sürü rakam atan bir komut satırı yardımcı programıyla ne yapabilirsiniz? Bu kılavuzda öğreneceksiniz.
Seq Komutu Nedir?
Yukarıda bahsedildiği gibi, Linux'taki seq komutu hızlı bir şekilde bir sayısal karakter dizisi oluşturur. Kullanıcılar, farklı sayı kombinasyonları oluşturmak için komuta bağımsız değişkenler iletebilir. Örneğin, seq öğesine ek bir argüman ileterek artırılmış bir liste elde edebilirsiniz.
Yine de komutun pratik kullanımı nedir? seq bütünüyle güçlü bir araç gibi görünmese de, diğer Linux yardımcı programlarıyla uygulayarak komuttan yararlanabilirsiniz. seq in de kullanabilirsiniz bash betikleri gerçek gücünü ortaya çıkarmak için.
Linux'ta seq nasıl kullanılır
Seq sadece birkaç argüman alır, bu da onu herkes için öğrenmesi kolay bir araç haline getirir.
Temel Sözdizimi
Komutun temel sözdizimi şöyledir:
seq seçenekleri numaraları
...nerede seçenekler komutun farklı yöntemlerini çağırmak için belirtebileceğiniz bayraklardır ve sayılar sayısal diziyi oluşturmak için ilettiğiniz bağımsız değişkenlerdir.
Sayı Listesi Oluşturun
Sıra argümanları, aşağıda verilen giriş biçimini takip eder:
son sıra
seq ilk son
seq ilk artış son
Yalnızca bir sayı belirttiğinizde, seq bunu liste için üst sınır olarak yorumlar ve birden başlayarak belirtilen sayıya kadar bir dizi oluşturur.
sıra 5
Yukarıda belirtilen komut aşağıdaki çıktıyı verecektir:
1
2
3
4
5
seq girdi olarak iki sayı aldığında, bunları dizinin alt limiti ve üst limiti olarak yorumlar. Dörtten sekize kadar bir sayı listesi oluşturmak için:
sıra 4 8
Çıktı:
4
5
6
7
8
Ancak komuta üç sayı ilettiğinizde, ikinci argümanı artış sayısı olarak yorumlar. Örneğin:
sıra 3 2 13
Yukarıda belirtilen komut, iki artışla üçten 13'e kadar sayıların bir listesini çıkaracaktır.
3
5
7
9
11
13
Sayılar Arasına Ayırıcı Ekle
Varsayılan olarak, seq, liste için ayırıcı olarak bir yeni satır karakteri kullanır. Listedeki her numaranın ayrı bir satırda olmasının nedeni budur.
Bu varsayılan davranışı değiştirebilir ve aşağıdakileri kullanarak özel bir ayırıcı kullanabilirsiniz. -s bayrak. kullanmak için dönem (.) ayırıcı olarak karakter:
sıra -s. 3 7
Çıktı:
3.4.5.6.7
Bazı karakterlerin aşağıdaki gibi olduğunu unutmayın. Tilde (~) tırnak içine alınmalıdır. Bunun nedeni, terminalin Tilde belirtmek için karakter /home dizini ve tırnakları eklemezseniz bu çıktıya yansır.
sıra -s ~ 3 7
Çıktı:
3/ev/4/ev/5/ev/6/ev/7
Öte yandan, ayırıcıyı tırnak işaretleri içine aldığınızda:
seq -s '~' 3 7
Çıktı:
3~4~5~6~7
Çıktı Formatını Ayarlayın
Ayrıca, çıktı dizisinin biçimini kullanarak da değiştirebilirsiniz. -f bayrak. Varsayılan olarak, seq, biçim stilini kullanıcı girişinden çıkarır. Örneğin, 0,1 ve 0,5 sayılarını belirtirseniz, varsayılan çıktının kayan noktalı sayı biçimi olacaktır.
sıra 0.1 0.5
Çıktı:
0.1
0.2
0.3
0.4
0.5
%a, %e, %f, %g, %A, %E, %F ve %G gibi çeşitli dönüştürme özelliklerini kullanarak özel bir çıktı biçimi belirtebilirsiniz.
kullanabilirsiniz %f Çıktının kayan noktalı sayı biçimini izlemesini istiyorsanız belirteci.
sıra-f %f 4 7
Çıktı:
4.000000
5.000000
6.000000
7.000000
Kesinliği iki ondalık basamağa kadar değiştirmek için:
seq -f %0.2f 4 7
Çıktı:
4.00
5.00
6.00
7.00
Ayrıca bir çıktı şablonu belirterek çıktıyı tamamen dönüştürebilirsiniz. Örneğin, ile başlayan tüm IP adreslerinin bir listesini almak için 192.168.5.x:
seq -f 192.168.5.%g 1 233
Çıktı:
Çıktıya dolgu eklemek için -w bayrak. -w flag, çıktının genişliğini belirtilen en büyük sayıya göre korur.
Sabit bir genişliği korurken 100'lük bir artışla bir ile 1.000 arasında bir sayı dizisi oluşturmak için:
sıra -w 1 100 1000
Çıktı:
0001
0101
0201
0301
0401
0501
0601
0701
0801
0901
seq Komut Satırı Yardımını Alın
seq'in kullanımı kolay olsa da, bazen kullanıcılar komut için kılavuz sayfasını kontrol edin. --Yardım flag seq man sayfasını görüntüler:
sıra -- yardım
Çıktı:
Pratik Örnekler
Daha önce de belirtildiği gibi, seq öncelikle diğer Linux komutlarıyla, örneğin touch ve expr ile kullanılır.
Matematiksel İşlemleri Gerçekleştirin
Belirli bir sayı aralığını hızlı bir şekilde eklemek veya çıkarmak istiyorsanız, bunu seq inside kullanarak kolayca yapabilirsiniz. ifadegirdiyi bir ifade olarak değerlendiren ve karşılık gelen çıktıyı görüntüleyen bir Linux komutu olan.
Bir ile 100 arasındaki tüm sayıları toplamak için:
ifade `(seq -s " + " 1 100)`
seq komutu aşağıdaki gibi bir çıktı üretir:
1 + 2 + 3 + 4 + 5 + 6...
Expr bunu bir girdi ifadesi olarak ele alır ve çözümü verir.
5050
seq komutundaki ayırıcıyı diğer operatörlerle değiştirerek diğer matematiksel işlemleri gerçekleştirebilirsiniz.
Birden Çok Dosyayı Hızla Oluşturun
Adları benzer bir kalıbı takip eden Linux'ta birden fazla dosya oluşturmak istiyorsanız, bunu kullanarak kolayca yapabilirsiniz. dokunma komutu ve devamı
Örneğin, adla 10 dosya oluşturmak için dosya-x.txt, nerede x birden 10'a kadar bir sayıdır:
$(seq -f "file%g.txt" öğesine dokunun 1 10)
Dokunma, dosyaları sizin için bir anda oluşturacaktır.
Komut Dosyalarında seq uygulama
yazdığını düşün Nmap gibi ağ tarayıcı aracı bash'ta, bir ağdaki tüm açık bağlantı noktalarının bir listesini almak isteyebilirsiniz. Ancak bunun için her bağlantı noktasına (toplamda 65535) ping atmanız ve yanıtı analiz etmeniz gerekir.
Biraz zaman kazanmak için seq kullanmayı seçebilir ve komut dosyanızda kullanabileceğiniz bir IP adresleri ve bağlantı noktası kombinasyonları listesi oluşturabilirsiniz.
IP adresine sahip bir cihazın tüm portlarının listesini almak istediğinizi varsayalım. 1.2.3.4. İstenen çıktıyı oluşturmak için hızlı bir komut:
seq -f 1.2.3.4:%g 1 65535
Çıktı:
Daha sonra bu çıktıyı bir liste olarak kullanabilir ve içinden geçerek, betiğinizi kullanarak her bir bağlantı noktasını kontrol edebilir ve açık olup olmadığını analiz edebilirsiniz.
Seq Sayıları Ne Kadar Hızlı Üretiyor?
Bash'ta bir for döngüsü kullanarak benzer sonuçlar elde edip edemeyeceğinizi düşünüyor olabilirsiniz, neden görev için seq seçmelisiniz? Bunun nedeni, seq'in gerçek gücünün hızında yatmasıdır. Seq, Linux'ta bir dizi sayı üreten diğer komutlardan daha hızlıdır.
Linux'ta time yardımcı programını kullanarak hızını bile test edebilirsiniz. Seq'in birden başlayarak bir milyon sayıdan oluşan bir liste oluşturmasının ne kadar zaman aldığını görelim.
zaman sırası 1000000
Aşağıdaki çıktıya bakıldığında, bir milyon sayıdan oluşan bir liste oluşturmanın yalnızca dört saniye kadar sürdüğünü görebilirsiniz.
Linux Komut Satırının Gücü
Seq, Linux'ta ağırlıklı olarak hızlı ve doğru sonuçlar sunmaya odaklanan tek araç değildir. Kullanarak bir sayı listesi oluşturabilirsiniz. bash'ta bir for döngüsü, seq'in gerçekten ne kadar hızlı olduğu düşünüldüğünde önerilen bir uygulama değildir.
Linux komut satırı size işletim sistemi ve işlevleri üzerinde daha fazla kontrol sağlar, bu da bugün GUI üzerinden terminali kullanmaya başlamanızın bir nedenidir.
Performans, kontrol ve kullanım kolaylığı söz konusu olduğunda Linux komut satırı yüksek bir zemine sahiptir.
Sonrakini Oku
- Linux
Deepesh, MUO'da Linux için Junior Editördür. 3 yılı aşkın süredir internette bilgilendirici içerik yazıyor. Boş zamanlarında yazmayı, müzik dinlemeyi ve gitar çalmayı sever.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Bir adım daha…!
Lütfen size az önce gönderdiğimiz e-postadaki e-posta adresinizi onaylayın.