Questa guida ti mostrerà come usare il comando seq per generare liste di numeri all'interno del terminale Linux.
Sintassi di base del comando Seq
Immagina di voler visualizzare i numeri da 1 a 20 sullo schermo.
Il seguente comando seq mostra come eseguire questa operazione:
seq 1 20
Di per sé, questo comando è abbastanza inutile. Per lo meno si vorrà produrre i numeri su un file.
Puoi farlo usando il comando cat come segue:
seq 1 20 | cat> numberedfile
Ora avrai un file chiamato numberedfile con i numeri da 1 a 20 stampati su ogni riga.
Il metodo che abbiamo mostrato finora per la visualizzazione di una sequenza di numeri avrebbe potuto essere condensato al seguente:
seq 20
Il numero iniziale predefinito è 1, quindi, fornendo semplicemente il numero 20, il comando seq conta automaticamente da 1 a 20.
Devi solo utilizzare il formato lungo se vuoi contare tra due numeri diversi come segue:
seq 35 45
Questo mostrerà i numeri da 35 a 45 sullo standard output.
Come impostare un incremento usando il comando Seq
Se si desidera visualizzare tutti i numeri pari tra 1 e 100, è possibile utilizzare la parte di incremento di seq ai numeri del passaggio 2 alla volta, come illustrato nell'esempio seguente:
seq 2 2 100
Nel comando precedente, il primo numero è il punto di partenza.
Il secondo numero è il numero da incrementare in ogni passaggio, ad esempio 2 4 6 8 10.
Il terzo numero è il numero finale su cui contare.
Formattazione del comando Seq
Semplicemente l'invio di numeri sul display o su un file non è particolarmente utile.
Tuttavia, potresti voler creare un file con ogni data a marzo.
Per fare ciò puoi usare il seguente interruttore:
seq -f "% 02g / 03/2016" 31
Questo mostrerà un output simile al seguente:
- 01/03/2016
- 02/03/2016
- 03/03/2016
Noterai% 02g. Esistono tre diversi formati: e, f e g.
Come esempio di cosa succede quando usi questi formati diversi, prova i seguenti comandi:
L'output da% e è il seguente: L'output di% f è il seguente: Infine, l'output da% g è il seguente: È possibile utilizzare il comando seq come parte di un ciclo for per eseguire lo stesso codice un determinato numero di volte. Ad esempio, supponi di voler visualizzare dieci volte il termine "ciao mondo". Ecco come puoi farlo: Per impostazione predefinita, il comando seq visualizza ciascun numero su una nuova riga. Questo può essere cambiato per essere qualsiasi carattere delimitante che si desidera utilizzare. Ad esempio, se si desidera utilizzare una virgola per separare i numeri, utilizzare la seguente sintassi: Se preferisci usare uno spazio, devi metterlo tra virgolette: Quando si generano i numeri su un file, si potrebbe essere infastiditi dal fatto che si aumentano le decine e le centinaia che i numeri hanno una lunghezza diversa. Per esempio: Puoi fare tutti i numeri della stessa lunghezza come segue: Quando esegui il comando precedente, l'output sarà il seguente: È possibile visualizzare i numeri in sequenza nell'ordine inverso. Ad esempio, se si desidera visualizzare i numeri da 10 a 1, è possibile utilizzare la seguente sintassi: È possibile utilizzare il comando sequenza per lavorare anche sui numeri in virgola mobile. Ad esempio, se desideri mostrare tutti i numeri compresi tra 0 e 1 con un passo da 0,1, puoi procedere come segue: Il comando seq è più utile quando usato come parte di uno script bash.seq -f "% e" 1 0,5 3
seq -f "% f" 1 0,5 3seq -f "% g" 1 0,5 3
Utilizzo del comando Seq come parte di A For Loop
per i in $ (seq 10)
fareecho "ciao mondo"fatto Cambia il separatore di sequenza
seq -s, 10
seq -s "" 10
Crea i numeri di sequenza nella stessa lunghezza
seq -w 10000
Visualizzazione dei numeri in ordine inverso
seq 10 -1 1
Numeri a virgola mobile
seq 0 0.1 1
Sommario