Παράδειγμα χρήσης της εντολής Seq του Linux

Αυτός ο οδηγός θα σας δείξει πώς να χρησιμοποιήσετε την εντολή seq για να δημιουργήσετε λίστες αριθμών μέσα στο τερματικό Linux.

Βασική σύνταξη της εντολής Seq

Φανταστείτε ότι θέλετε να εμφανίζονται οι αριθμοί 1 έως 20 στην οθόνη.

Η ακόλουθη εντολή seq σας δείχνει πώς να το κάνετε αυτό:

επόμενο 1 20

Από μόνη της, αυτή η εντολή είναι αρκετά άχρηστη. Τουλάχιστον θα θέλετε να εξάγετε τους αριθμούς σε ένα αρχείο.

Μπορείτε να το κάνετε χρησιμοποιώντας την εντολή cat ως εξής:

επόμενο 1 20 | cat> αριθμημένο αρχείο

Τώρα θα έχετε ένα αρχείο numberedfile με τους αριθμούς 1 έως 20 που εκτυπώνονται σε κάθε γραμμή.

Η μέθοδος που έχουμε δείξει μέχρι στιγμής για την εμφάνιση μιας ακολουθίας αριθμών θα μπορούσε να συμπυκνωθεί στα εξής:

επόμενο 20

Ο προεπιλεγμένος αριθμός έναρξης είναι 1, οπότε με την παράδοση του αριθμού 20 η εντολή seq υπολογίζει αυτόματα από 1 έως 20.

Χρειάζεται μόνο να χρησιμοποιήσετε τη μεγάλη μορφή αν θέλετε να μετρήσετε μεταξύ δύο διαφορετικών αριθμών ως εξής:

35 35

Αυτό θα εμφανίσει τους αριθμούς 35 έως 45 στην τυπική έξοδο.

Πώς να ορίσετε μια αύξηση χρησιμοποιώντας την εντολή Seq

Αν θέλετε να εμφανίσετε όλους τους αδύναμους αριθμούς μεταξύ 1 και 100, μπορείτε να χρησιμοποιήσετε το τμήμα προσαυξήσεων των ακολουθιών σε αριθμούς βήματος 2 κάθε φορά όπως δείχνει το ακόλουθο παράδειγμα:

επόμενο 2 2 100

Στην παραπάνω εντολή, ο πρώτος αριθμός είναι το σημείο εκκίνησης.

Ο δεύτερος αριθμός είναι ο αριθμός που αυξάνεται σε κάθε βήμα, για παράδειγμα, 2 4 6 8 10.

Ο τρίτος αριθμός είναι ο τελικός αριθμός που πρέπει να μετρήσετε.

Μορφοποίηση της εντολής Seq

Η απλή αποστολή αριθμών στην οθόνη ή σε ένα αρχείο δεν είναι ιδιαίτερα χρήσιμη.

Ωστόσο, ίσως θέλετε να δημιουργήσετε ένα αρχείο με κάθε ημερομηνία τον Μάρτιο.

Για να γίνει αυτό, μπορείτε να χρησιμοποιήσετε τον ακόλουθο διακόπτη:

seq -f "% 02g / 03/2016" 31

Αυτό θα εμφανίσει έξοδο παρόμοια με την ακόλουθη:

Θα παρατηρήσετε το% 02g. Υπάρχουν τρεις διαφορετικές μορφές: e, f, και g.

Ως παράδειγμα για το τι συμβαίνει όταν χρησιμοποιείτε αυτές τις διαφορετικές μορφές δοκιμάστε τις ακόλουθες εντολές:

seq -f "% e" 1 0.5 3

seq -f "% f" 1 0.5 3

seq -f "% g" 1 0.5 3

Η έξοδος από το% e έχει ως εξής:

Η έξοδος από το% f έχει ως εξής:

Τέλος, η έξοδος από το% g έχει ως εξής:

Χρησιμοποιώντας την εντολή Seq ως μέρος ενός βρόχου

Μπορείτε να χρησιμοποιήσετε την εντολή seq ως τμήμα ενός βρόχου for για να τρέξετε μέσω του ίδιου κώδικα έναν καθορισμένο αριθμό φορές.

Για παράδειγμα, λέτε ότι θέλετε να εμφανίσετε τον όρο "hello world" δέκα φορές.

Έτσι μπορείτε να το κάνετε:

για το i σε $ (επόμενο 10)

κάνω

echo "hello world"

Έγινε

Αλλάξτε τον διαχωριστή ακολουθίας

Από προεπιλογή, η εντολή seq εμφανίζει κάθε αριθμό σε μια νέα γραμμή.

Αυτό μπορεί να αλλάξει για να είναι οποιοσδήποτε οριοθετικός χαρακτήρας που θέλετε να χρησιμοποιήσετε.

Για παράδειγμα, εάν θέλετε να χρησιμοποιήσετε ένα κόμμα για να διαχωρίσετε τους αριθμούς, χρησιμοποιήστε την ακόλουθη σύνταξη:

seq-s, 10

Εάν προτιμάτε να χρησιμοποιήσετε ένα χώρο τότε θα πρέπει να το βάλετε σε εισαγωγικά:

seq -s "" 10

Κάντε τους αριθμούς ακολουθιών το ίδιο μήκος


Όταν εξάγετε τους αριθμούς σε ένα αρχείο που μπορεί να ενοχληθείτε, καθώς ανεβάζετε τα δεκάδες και τα εκατοντάδες ότι οι αριθμοί είναι διαφορετικού μήκους.

Για παράδειγμα:

Μπορείτε να κάνετε όλους τους αριθμούς με το ίδιο μήκος ως εξής:

seq-w 10000

Όταν εκτελέσετε την παραπάνω εντολή, η έξοδος θα έχει ως εξής:

Εμφάνιση αριθμών σε αντίστροφη σειρά

Μπορείτε να εμφανίσετε τους αριθμούς σε σειρά με αντίστροφη σειρά.

Για παράδειγμα, αν θέλετε να εμφανίσετε τους αριθμούς 10 προς 1, μπορείτε να χρησιμοποιήσετε την ακόλουθη σύνταξη:

επόμενο 10 -1 1

Αριθμοί κυμαινόμενου σημείου

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή ακολουθίας για να δουλέψετε και στους αριθμούς κυμαινόμενου σημείου.

Για παράδειγμα, εάν θέλετε να εμφανίσετε κάθε αριθμό μεταξύ 0 και 1 με ένα βήμα 0.1, μπορείτε να το κάνετε ως εξής:

seq 0 0.1 1

Περίληψη

Η εντολή seq είναι πιο χρήσιμη όταν χρησιμοποιείται ως τμήμα ενός script bash .