Cara Menggunakan Perintah seq pada Linux

Gesaan terminal pada PC Linux.

Fatmawati Achmad Zaenuri/Shutterstock



Linux |_+_| arahan menjana senarai nombor dalam sekelip mata. Tetapi bagaimanakah fungsi ini boleh digunakan secara praktikal? Kami akan menunjukkan kepada anda cara seq mungkin berguna untuk anda.

Perintah seq

Pada pandangan pertama, Linux |__+_| perintah nampaknya sesuatu yang aneh. Ia membolehkan anda menjana urutan nombor cepat dan itu sahaja! Kata kunci di sini, bagaimanapun, adalah cepat. Seketika, anda akan melihat betapa pantas perintah kecil ini boleh dijalankan.





Walau bagaimanapun, tidak kira bagaimana ia dijana, sejauh manakah berguna senarai nombor? |_+_| arahan telah ditambahkan pada edisi ke-8 Unix pada tahun 1985. Ia telah ada sejak itu, jadi ia mesti melakukan sesuatu yang berbaloi.

The falsafah Unix ialah ia penuh dengan utiliti kecil yang melakukan satu perkara dan melakukannya dengan baik. Salah satu prinsip utama falsafah ini ialah menulis program yang menerima input daripada program lain. Sudah tentu, itu juga bermakna program ini perlu menjana output yang boleh digunakan sebagai input oleh program lain.



|_+_| arahan muncul sendiri apabila ia digunakan dengan arahan lain yang menggunakan outputnya, sama ada melalui paip atau pengembangan baris arahan.

Penjanaan Senarai Asas

Jika anda melancarkan |__+_| dengan nombor tunggal sebagai parameter baris arahan, ia dikira dari satu hingga nombor itu. Ia kemudian mencetak nombor dalam tetingkap terminal, satu nombor setiap baris, seperti yang ditunjukkan di bawah:

seq



Iklan

Jika anda menaip dua nombor pada baris arahan, yang pertama ialah nombor mula dan yang kedua ialah nombor akhir, seperti yang ditunjukkan di bawah:

seq

Anda boleh menetapkan saiz langkah dengan memasukkan nombor ketiga. Ia terletak di antara nombor mula dan akhir. Kami menaip yang berikut untuk bertanya |__+_| untuk membuat senarai nombor yang bermula dengan enam, berakhir pada 48, dan menggunakan langkah enam:

seq

Mengira Ke Belakang

Kami juga boleh bertanya |__+_| untuk membuat senarai nombor dari tertinggi hingga terendah. Walau bagaimanapun, untuk berbuat demikian, kami mesti menyediakan langkah yang negatif.

Perintah berikut menghasilkan senarai yang dikira dari 24 hingga 12 dalam langkah 6 kerana kami menaip langkah sebagai nombor negatif:

seq

Mengira Dengan Perpuluhan

Nombor permulaan, akhir dan langkah juga boleh menjadi perpuluhan. Jika mana-mana nombor adalah perpuluhan, yang lain juga dianggap sebagai perpuluhan. Perintah berikut menghasilkan senarai nombor dengan langkah 0.2:

seq

Kelajuan seq

|_+_| adalah sangat pantas—satu-satunya halangan ialah masa yang anda perlukan untuk menaip arahan dalam tetingkap terminal. Untuk menguji kelajuannya, mari kita minta senarai 250,000 nombor.

Iklan

Kami menaip yang berikut, menggunakan seq arahan untuk melihat berapa lama proses yang diambil untuk diselesaikan:

seq

Keputusan dipaparkan di bawah senarai. Walaupun pada PC ujian berkuasa sederhana kami, |__+_| sangat pantas.

Keseluruhan senarai telah dibuat dan ditulis ke skrin dalam kira-kira 1/3 saat. Jika kita mengubah hala senarai ke dalam fail, kita juga boleh mengelakkan overhed menaip dalam tetingkap terminal.

Untuk berbuat demikian, kami menaip yang berikut:

seq

Masa yang diperlukan untuk melengkapkan senarai dan mencipta fail kini kira-kira 1/7 saat.

Menggunakan Pemisah

Watak baris baharu ialah aksara lalai yang dipaparkan di antara setiap nombor dalam senarai. Itulah sebabnya ia muncul sebagai senarai menegak, dengan setiap nombor pada barisnya sendiri. Jika anda perlu, anda boleh menyediakan pemisah lain.

Iklan

Sebagai contoh, katakan anda perlu membuat senarai dipisahkan koma, senarai dibahagikan dengan titik bertindih atau sebarang tanda baca atau simbol lain. Pembatas sebenarnya adalah rentetan, jadi anda boleh menggunakan lebih daripada satu aksara.

Kami akan menggunakan |__+_| (pemisah) pilihan. Perintah berikut akan menghasilkan senarai dipisahkan koma:

time

Perintah ini akan menggunakan titik bertindih (|_+_|) sebagai pemisah:

seq

Perintah ini memberitahu |__+_| untuk menggunakan dua sempang (|_+_|) sebagai pemisah:

-s

Menggunakan Format Strings

|_+_| arahan juga menyokong C gaya bahasa rentetan format. Ini membolehkan anda memformat output dengan lebih banyak kawalan daripada hanya menentukan pemisah. Untuk menggunakan rentetan format, anda menggunakan |_+_| (format) pilihan.

Perintah berikut memberitahu |__+_| untuk menggunakan sifar untuk pad output kepada dua aksara:

:

Iklan

Kita boleh memformat rentetan dengan mana-mana teks yang kita suka, dan meletakkan nombor di mana-mana dalam rentetan, seperti berikut:

seq

Cara Pantas untuk Tetapkan Sifar Padding

Cara terpantas untuk menetapkan sifar padding ialah menggunakan |__+_| (lebar sama) pilihan. Ini memberitahu |__+_| untuk menggunakan sifar untuk melapik nombor, jadi semuanya sama lebar dengan nombor terbesar.

Perintah berikut dikira dari 0 hingga 1,000 dalam langkah 100, dan semua nombor akan dipadatkan dengan sifar:

-

Nombor terpanjang mengambil empat aksara, jadi semua nombor yang lebih sempit dipadatkan dengan sifar hingga lebar itu (walaupun 0 dipadatkan kepada empat sifar).

Paip seq Ke bc

Dengan menetapkan pemisah sebagai simbol matematik dan memaipkan senarai ke dalam |_+_| perintah, kita boleh menilai nombor dalam senarai itu .

Perintah berikut menjana senarai nombor yang dipisahkan oleh asterisk (|_+_|), bermula pada satu dan berakhir dengan enam:

seqIklan

Jika kami menyuap senarai itu ke |_+_|, ia menilai senarai menggunakan asterisk (|_+_|) sebagai simbol pendaraban:

-f

Kita boleh melakukan ini dengan simbol lain juga. Perintah di bawah menggunakan tanda tambah (|_+_|) untuk membuat senarai di mana semua nombor ditambah:

seq

Kami menaip yang berikut untuk menyalurkannya ke |_+_| dan menilai senarai:

-w

Mencipta Fail Dengan seq

|_+_| perintah mengemas kini setem masa dan tarikh pada fail. Jika fail itu tidak wujud, sentuh menciptanya. Kita boleh menggunakan pengembangan baris arahan dengan |__+_| dan |_+_| untuk mencipta koleksi fail yang dinamakan secara tematik, tetapi bernombor berbeza.

Kami akan membuat satu set 10 fail dengan nama asas yang sama dan nombor yang berbeza (file-1.txt, file-2.txt dan seterusnya). Kami menaip yang berikut:

seq

Kemudian, kami menaip yang berikut untuk menyemak fail:

bc

Menggunakan seq dalam Bash Loops

Kita boleh menggunakan |__+_| dalam skrip Bash untuk mengawal gelung dengan perpuluhan.

Iklan

Taip teks berikut ke dalam editor, dan kemudian simpannya sebagai loops.sh:

*

Seterusnya, kami menaip yang berikut untuk menjadikan skrip baharu kami boleh dilaksanakan:

bc

Apabila kita menjalankan skrip, kaunter gelung dicetak dalam tetingkap terminal. Kemudian kita boleh menaip yang berikut untuk melihat pertambahan pembilang gelung perpuluhan dengan setiap lelaran gelung:

*

Ingat bahawa |_+_| boleh mengira ke belakang juga; anda boleh menggunakannya dalam gelung dengan cara yang sama.

Bagus dan Mudah

Satu perkara tentang |__+_| adakah tidak banyak keluk pembelajaran. Ia mempunyai a pendek yang menyegarkan |_+_| halaman, tetapi anda masih boleh menggunakannya dengan cara yang menarik.

Oleh kerana kami sering perlu membuat fail ujian dengan cepat dengan saiz yang realistik, kami menggunakan |_+_| dengan rentetan format. Kami kemudiannya mengubah hala output untuk mencipta fail yang mengandungi seberapa banyak baris data dummy yang kami mahu.

Perintah Linux
Fail tar · pv · kucing · tac · chmod · cengkaman · perbezaan · sed · Dengan · lelaki · pushd · popd · fsck · testdisk · seq · fd · pandoc · CD · $PATH · awk · sertai · jq · lipat · uniq · journalctl · ekor · negeri · ls · fstab · dibuang · kurang · chgrp · chown · rev · tengok · rentetan · taip · menamakan semula · zip · buka zip · lekapkan · umount · pasang · fdisk · mkfs · rm · rmdir · rsync · df · gpg · kita · nano · mkdir · daripada · ln · tampalan · menukar · rclone · carik-carik · SRM
Proses alias · skrin · atas · bagus · renice · kemajuan · jejak · sistem · tmux · chsh · sejarah · di · kumpulan · percuma · yang · dmesg · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · masa tamat · dinding · ya · bunuh · tidur · sudo · miliknya · masa · tambah kumpulan · usermod · kumpulan · lshw · menutup · but semula · berhenti · matikan · passwd · lscpu · crontab · Tarikh · bg · fg
Rangkaian netstat · ping · traceroute · ip · ss · siapakah · fail2ban · bmon · awak · jari · nmap · ftp · keriting · wget · who · siapakah saya · Dalam · iptables · ssh-keygen · ufw

BERKAITAN: Komputer Riba Linux Terbaik untuk Pembangun dan Penggemar

BACA SETERUSNYA
  • › Apakah itu MIL-SPEC Drop Protection?
  • › Cara Mencari Spotify Anda Dibungkus 2021
  • & rsaquo; Cyber ​​Monday 2021: Tawaran Teknologi Terbaik
  • › Folder Komputer Berusia 40: Bagaimana Bintang Xerox Mencipta Desktop
  • › Fungsi vs. Formula dalam Microsoft Excel: Apakah Perbezaannya?
  • › 5 Laman Web Setiap Pengguna Linux Perlu Penanda Halaman
Foto Profil untuk Dave McKay Dave McKay
Dave McKay pertama kali menggunakan komputer apabila pita kertas yang ditebuk sedang popular, dan dia telah memprogramkan sejak itu. Selepas lebih 30 tahun dalam industri IT, beliau kini seorang wartawan teknologi sepenuh masa. Semasa kerjayanya, beliau telah bekerja sebagai pengaturcara bebas, pengurus pasukan pembangunan perisian antarabangsa, pengurus projek perkhidmatan IT, dan, yang terbaru, sebagai Pegawai Perlindungan Data. Tulisannya telah diterbitkan oleh howtogeek.com, cloudsavvyit.com, itenterpriser.com, dan opensource.com. Dave ialah seorang penginjil Linux dan penyokong sumber terbuka.
Baca Bio Penuh

Artikel Yang Menarik