Skip to main content

Esempi di utilizzo del comando Seq di Linux

02 IMPARARE LINUX: VIDEORIPETIZIONI PER CERTIFICAZIONE LINUX LPIC ESAMI 101 E 102 (Giugno 2025)

02 IMPARARE LINUX: VIDEORIPETIZIONI PER CERTIFICAZIONE LINUX LPIC ESAMI 101 E 102 (Giugno 2025)
Anonim

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:

seq -f "% e" 1 0,5 3seq -f "% f" 1 0,5 3seq -f "% g" 1 0,5 3

L'output da% e è il seguente:

  • 1.000000e + 00
  • 1.500000e + 00
  • 2.000000e + 00
  • 2.500000e + 00
  • 3.000000e + 00

L'output di% f è il seguente:

  • 1.000000
  • 1.500000
  • 2.000000
  • 2.500000
  • 3.000000

Infine, l'output da% g è il seguente:

  • 1
  • 1.5
  • 2
  • 2.5
  • 3

Utilizzo del comando Seq come parte di A For Loop

È 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 i in $ (seq 10)fareecho "ciao mondo"fatto

Cambia il separatore di sequenza

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:

seq -s, 10

Se preferisci usare uno spazio, devi metterlo tra virgolette:

seq -s "" 10

Crea i numeri di sequenza nella stessa lunghezza

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:

  • 1
  • 2
  • 3
  • 10
  • 11
  • 99
  • 100
  • 200
  • 1000
  • 10000

Puoi fare tutti i numeri della stessa lunghezza come segue:

seq -w 10000

Quando esegui il comando precedente, l'output sarà il seguente:

  • 00001
  • 00002
  • 00003
  • 00010
  • 00011
  • 00099
  • 00100
  • 00200
  • 01000
  • 10000

Visualizzazione dei numeri in ordine inverso

È 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:

seq 10 -1 1

Numeri a virgola mobile

È 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:

seq 0 0.1 1

Sommario

Il comando seq è più utile quando usato come parte di uno script bash.