È possibile utilizzare il comando SEQ per iterare una sequenza di numeri sulla riga di comando o persino in bash. È inoltre possibile tubolare l'output su altri file o programmi. Copriremo tutto ciò in questo articolo.
Lavorare con il comando SEQ
Il comando SEQ viene preinstallato su Linux. La sua sintassi di base è:
$ seq [opzione] Primo incremento ultimoIl comando SEQ genera una sequenza di numeri. Puoi definire come generare i numeri.1
1. Lavorare con seq ultimo
Quando viene fornita un solo argomento, SEQ lo tratta come il SCORSO. Stampa i numeri a partire da 1 e aumenta fino a quel numero. L'incremento predefinito è di 1.
Ad esempio, per usare 14 come argomento, l'output sarà:
2. Lavorare con seq prima e ultimo
È possibile specificare dove avviare il numero di sequenza aggiungendo due argomenti. Il primo rappresenta il valore iniziale e l'altro è l'ultimo valore da stampare. Tuttavia, il primo argomento non può essere maggiore dell'ultimo argomento.
Stampiamo la sequenza a partire da 3 a 14. Il comando sarà:
3. Lavorare con SEQ First Increment Ultimo
Quando SEQ riceve tre argomenti, tratta il primo argomento come il punto di partenza quando inizia il numero di sequenza. Il secondo argomento è il numero di incremento e il terzo argomento è l'ultimo numero.
Ad esempio, per stampare da 3 a 14, aumentando il valore di 2, il comando sarà:
4. Lavorare con stringhe formattate
SEQ consente le stringhe concatenanti con numeri di sequenza usando il" %G" opzione. Il formato stringa è simile alla programmazione C e puoi specificare il numero di caratteri. Vediamo alcuni dei pochi esempi.
Per aggiungere le stringhe prima del numero di sequenza, applica il comando seguente:
$ seq -f "num%02g" 5Il comando precedente stampa i numeri di sequenza da 1 a 5 e aggiunge le parole e gli zeri prima del numero.
È inoltre possibile specificare un incremento e il valore iniziale.
Ad esempio, per stampare le stesse stringhe formattate a partire da 11 e incrementazione di 4 fino a 25, il comando sarà:
$ seq -f “num%02g” 11 4 25L'output sarebbe il seguente:
SEQ stampa l'uscita ciascuno sulla sua linea. Se si preferisce visualizzare il risultato sulla stessa riga, utilizzare il -S bandiera.
5. Lavorare con seq -w
Per impostazione predefinita, l'imbottitura della larghezza dell'uscita non è uguale, specialmente quando si lavora con numeri che non hanno lo stesso numero di cifre. Tuttavia, puoi aggiungere gli zeri principali per pareggiare la larghezza usando il -w.
6. Lavorare con separatori
È necessario un separatore quando si generano i numeri di sequenza, specialmente sulla stessa linea. Il SEQ offre il -S Flag che ti consente di definire il tipo di separatore da utilizzare. Abbiamo aggiunto diversi separatori nell'esempio seguente:
7. Lavorare con i numeri a virgola mobile
Quando è necessario generare una sequenza contenente i valori fluttuanti, usa "%F"Opzione e aggiungere un valore di incremento. Ad esempio, per aggiungere uno 0.5 incremento, il comando sarà:
8. Lavorare con gli script bash usando seq
È possibile utilizzare il SEQ nella creazione di script bash. Nel nostro caso, creeremo uno script bash che genera i numeri di sequenza da 2 a 10 con uno 0.8 incremento.
Il codice per lo script sarà:
Rendi eseguibile lo script ed eseguilo per generare l'output.
Puoi anche creare uno script che crea file che iniziano con una determinata parola chiave seguita dai numeri generati. Nel nostro caso, creiamo uno script che crea file denominati conferenza e usa il SEQ per nominarli.
Esegui lo script. Nota l'output e come crea i diversi file, come mostrato nei seguenti:
È inoltre possibile creare più file sul terminale senza utilizzare uno script. Per creare gli stessi file di noi, usando lo script bash, ma sul terminale, il comando sarà:
$ touch $ (seq -f "new secture-%g.txt ”10)9. Piping l'output SEQ su un file
È possibile salvare l'output del numero di sequenza in un nuovo file utilizzando le diverse opzioni. Nel nostro caso, piperemo l'output su un nuovo file che viene creato quando il comando viene eseguito.
$ seq -f “num%02g” 11 4 25 | gatto> pipefile.TXTConclusione
Seq è un comando prompt Linux che genera istantaneamente i numeri di sequenza necessari. Ora hai capito come utilizzare il SEQ per creare i numeri di sequenza in modi diversi, incluso l'utilizzo con gli script bash. Ti piacerà quanto velocemente fa il lavoro.