Di Linux, Anda dapat menemukan beberapa perintah dengan fungsi yang tidak biasa. Salah satu perintah tersebut adalah seq, yang menampilkan urutan angka tergantung pada argumen yang ditentukan.
Tetapi apa yang dapat Anda lakukan dengan utilitas baris perintah yang memberikan banyak angka kepada Anda? Anda akan mengetahuinya dalam panduan ini.
Apa Perintah seq?
Seperti disebutkan di atas, perintah seq di Linux dengan cepat menghasilkan urutan karakter numerik. Pengguna dapat meneruskan argumen ke perintah untuk menghasilkan kombinasi angka yang berbeda. Misalnya, Anda bisa mendapatkan daftar yang bertambah hanya dengan meneruskan argumen tambahan ke seq.
Apa kegunaan praktis dari perintah itu? Sementara seq mungkin tidak tampak seperti alat yang kuat secara keseluruhan, Anda bisa mendapatkan keuntungan dari perintah dengan mengimplementasikannya dengan utilitas Linux lainnya. Anda juga dapat menggunakan seq in skrip bash untuk mengungkap kekuatannya yang sebenarnya.
Cara Menggunakan seq di Linux
Seq hanya membutuhkan beberapa argumen, yang membuatnya menjadi alat yang mudah dipelajari bagi siapa saja.
Sintaks Dasar
Sintaks dasar dari perintah tersebut adalah:
nomor opsi seq
...dimana pilihan adalah flag yang dapat Anda tentukan untuk memanggil metode perintah yang berbeda dan angka adalah argumen yang Anda berikan untuk menghasilkan urutan numerik.
Hasilkan Daftar Angka
Argumen seq mengikuti format input yang diberikan di bawah ini:
seq terakhir
seq pertama terakhir
seq kenaikan pertama terakhir
Ketika Anda hanya menentukan satu nomor, seq menafsirkannya sebagai batas atas untuk daftar dan menghasilkan urutan mulai dari satu hingga nomor yang ditentukan.
barisan 5
Perintah di atas akan menampilkan yang berikut:
1
2
3
4
5
Ketika seq menerima dua angka sebagai input, itu menafsirkannya sebagai batas bawah dan batas atas untuk urutan. Untuk menghasilkan daftar angka dari empat hingga delapan:
barisan 4 8
Keluaran:
4
5
6
7
8
Tetapi ketika Anda memberikan tiga angka ke perintah, itu menafsirkan argumen kedua sebagai angka kenaikan. Sebagai contoh:
barisan 3 2 13
Perintah yang disebutkan di atas akan menampilkan daftar angka mulai dari tiga hingga 13 dengan kenaikan dua.
3
5
7
9
11
13
Tambahkan Pemisah Antara Angka
Secara default, seq menggunakan karakter baris baru sebagai pemisah untuk daftar. Inilah alasan mengapa setiap nomor dalam daftar berada pada baris yang terpisah.
Anda dapat mengubah perilaku default ini dan menggunakan pemisah khusus menggunakan -s bendera. Untuk menggunakan Titik (.) karakter sebagai pemisah:
seq -s. 3 7
Keluaran:
3.4.5.6.7
Perlu diingat bahwa beberapa karakter seperti Tilde (~) harus diapit dalam tanda kutip. Ini karena terminal menggunakan uses Tilde karakter untuk menunjukkan /home direktori, dan itu akan tercermin dalam output jika Anda tidak menambahkan tanda kutip.
seq -s ~ 3 7
Keluaran:
3/rumah/4/rumah/5/rumah/6/rumah/7
Di sisi lain, ketika Anda membungkus pemisah dengan tanda kutip:
seq -s '~' 3 7
Keluaran:
3~4~5~6~7
Tweak Format Output
Anda juga dapat mengubah format untuk urutan output menggunakan -f bendera. Secara default, seq mengekstrak gaya format dari input pengguna. Misalnya, jika Anda menentukan angka 0,1 dan 0,5, output default akan memiliki format angka floating-point.
seq 0,1 0,5
Keluaran:
0.1
0.2
0.3
0.4
0.5
Anda dapat menentukan format keluaran khusus menggunakan berbagai spesifikasi konversi seperti %a, %e, %f, %g, %A, %E, %F, dan %G.
Anda dapat menggunakan %f specifier jika Anda ingin output mengikuti format angka floating-point.
seq-f %f 4 7
Keluaran:
4.000000
5.000000
6.000000
7.000000
Untuk mengubah presisi hingga dua titik desimal:
seq -f %0.2f 4 7
Keluaran:
4.00
5.00
6.00
7.00
Anda juga dapat mengubah output sepenuhnya dengan menentukan template output. Misalnya, untuk mendapatkan daftar semua alamat IP yang dimulai dengan 192.168.5.x:
seq -f 192.168.5.%g 1 233
Keluaran:
Untuk menambahkan padding ke output, Anda dapat menggunakan -w bendera. Itu -w flag mempertahankan lebar output sesuai dengan jumlah terbesar yang ditentukan.
Untuk menghasilkan urutan angka antara satu dan 1.000 dengan kenaikan 100 sambil mempertahankan lebar konstan:
seq -w 1 100 1000
Keluaran:
0001
0101
0201
0301
0401
0501
0601
0701
0801
0901
Dapatkan Bantuan Baris Perintah seq
Meskipun seq mudah digunakan, terkadang pengguna mungkin merasa perlu untuk periksa halaman manual untuk perintahnya. Itu --Tolong flag akan menampilkan halaman manual seq:
seq --help
Keluaran:
Contoh Praktis
Seperti yang telah disebutkan, seq terutama digunakan dengan perintah Linux lainnya, misalnya, sentuh dan expr.
Lakukan Operasi Matematika
Jika Anda ingin menambah atau mengurangi rentang angka tertentu dengan cepat, Anda dapat melakukannya dengan mudah menggunakan seq di dalam expr, yang merupakan perintah Linux yang memperlakukan input sebagai ekspresi dan menampilkan output yang sesuai.
Untuk menambahkan semua angka antara satu dan 100:
expr `(seq -s " + " 1 100)`
Perintah seq menghasilkan output sebagai berikut:
1 + 2 + 3 + 4 + 5 + 6...
Expr memperlakukannya sebagai ekspresi input dan mengeluarkan solusi.
5050
Anda dapat melakukan operasi matematika lainnya hanya dengan mengganti pemisah di perintah seq dengan operator lain.
Buat Banyak File dengan Cepat
Jika Anda ingin membuat banyak file di Linux yang namanya mengikuti pola yang sama, Anda dapat melakukannya dengan mudah menggunakan perintah sentuh dan seq.
Misalnya, untuk membuat 10 file dengan nama file-x.txt, dimana x adalah angka dari satu sampai 10:
sentuh $(seq -f "file%g.txt" 1 10)
Sentuhan akan membuat file untuk Anda dalam sekejap.
Menerapkan seq dalam Script
Anggap Anda sedang menulis alat pemindai jaringan seperti Nmap di bash, Anda mungkin ingin mendapatkan daftar semua port terbuka di jaringan. Tetapi untuk itu, Anda perlu melakukan ping ke setiap port (total 65535) dan menganalisis responsnya.
Untuk menghemat waktu, Anda dapat memilih untuk menggunakan seq dan membuat daftar alamat IP dan kombinasi port yang dapat Anda gunakan dalam skrip Anda.
Mari kita asumsikan Anda ingin mendapatkan daftar semua port perangkat dengan alamat IP 1.2.3.4. Berikut adalah perintah cepat untuk menghasilkan output yang diinginkan:
seq -f 1.2.3.4:%g 1 65535
Keluaran:
Anda kemudian dapat menggunakan output ini sebagai daftar dan melintasinya, memeriksa setiap port menggunakan skrip Anda dan menganalisis apakah itu terbuka atau tidak.
Seberapa Cepat Seq Menghasilkan Angka?
Anda mungkin berpikir jika Anda dapat mencapai hasil yang serupa menggunakan for loop di bash, mengapa memilih seq untuk tugas tersebut? Ini karena kekuatan seq yang sebenarnya terletak pada kecepatannya. Seq lebih cepat daripada perintah lain yang menghasilkan urutan angka di Linux.
Anda bahkan dapat menguji kecepatannya menggunakan utilitas waktu di Linux. Mari kita lihat berapa lama waktu yang dibutuhkan seq untuk menghasilkan daftar satu juta angka mulai dari satu.
urutan waktu 1000000
Melihat output di bawah ini, Anda dapat melihat bahwa hanya butuh seq sekitar empat detik untuk menghasilkan daftar satu juta angka.
Kekuatan Baris Perintah Linux
Seq bukan satu-satunya alat di Linux yang sangat berfokus pada memberikan hasil yang cepat dan akurat. Meskipun Anda dapat membuat daftar angka menggunakan perulangan for di bash, itu bukan praktik yang disarankan mengingat seberapa cepat seq sebenarnya.
Baris perintah Linux memberi Anda lebih banyak kontrol atas sistem operasi dan fungsinya, yang juga merupakan alasan mengapa Anda harus mulai menggunakan terminal melalui GUI hari ini.
Baris perintah Linux memiliki keunggulan dalam hal kinerja, kontrol, dan kemudahan penggunaan.
Baca Selanjutnya
- Linux
Deepesh adalah Editor Junior untuk Linux di MUO. Dia telah menulis konten informasi di internet selama lebih dari 3 tahun. Di waktu luangnya, ia senang menulis, mendengarkan musik, dan bermain gitar.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Satu langkah lagi…!
Harap konfirmasi alamat email Anda di email yang baru saja kami kirimkan.