giovedì 9 agosto 2012

Seq! Man escluso.

Salve!

Oggi parliamo di Seq! (print a sequence of numbers).

$ man seq

Andatevelo a leggere. :)


$ seq 5

Output: (tabulazione verticale)

1
2
3
4
5

$ seq -s " " 5

output: (tabulazione orizzontale)


1 2 3 4 5


$ seq 2 2 20

output: (tabellina del due; tabulazione verticale)

2
4
6
8
10
12
14
16
18
20


$ seq -s " " 2 2 20

output: (tabellina del due; tabulazione orizzontale)

2 4 6 8 10 12 14 16 18 20


$ seq -s , 3 3 30

output: (tabellina del tre; tabulazione orizzontale; i numeri non sono separati da spazi, ma da virgole; -s sta per separatore;)

3,6,9,12,15,18,21,24,27,30


$ seq -s + 3 3 30 | bc

output: (sommo  i numeri della tabellina del tre)

165


$ seq 3 3 30 | awk '{sum+=$1} END {print sum}'

output: (stesso esempio del precedente dove anzichè usare bc uso awk)

165


$ seq 50 | awk '{sum+=$1} END {print sum}'

output: (sommo i numeri da 1 a 50.)

1275


$ seq -s " " -w 02 10

output: (si commenta da solo.)

02 03 04 05 06 07 08 09 10


$ seq -s " " -w 009

output: (si commenta da solo.)

001 002 003 004 005 006 007 008 009


$ for i in $(seq 5 5 25); do echo "$i caramelle"; done


output:

5  caramelle
10 caramelle
15 caramelle
20 caramelle
25 caramelle


$ seq -10 2 5

output: (numeri negativi; tabulazione verticale)
-10
-8
-6
-4
-2
 0
 2
 4


$ seq -s " " -10 2 5

output: (numeri negativi; tabulazione orizzontale)

-10 -8 -6 -4 -2 0 2 4



$ seq -f "un caffè e %g cornetti" 3 9

output: (seq e il bar)

un caffè e 3 cornetti
un caffè e 4 cornetti
un caffè e 5 cornetti
un caffè e 6 cornetti
un caffè e 7 cornetti
un caffè e 8 cornetti
un caffè e 9 cornetti


$ seq 10 | awk 'BEGIN {x=1; y=1} {printf "%d\n", x; z=x+y; x=y; y=z}'

output: (sequenza di fibonacci)

1
1
2
3
5
8
13
21
34
55

Ciao! :)

3 commenti:

  1. Ecco una soluzione più bella al posto di SEQ.

    echo {0..10}

    0 1 2 3 4 5 6 7 8 9 10

    echo {0..10..2}

    0 2 4 6 8 10

    RispondiElimina
  2. Ah stessa cosa può essere fatta con le lettere.

    echo {a..z}

    a b c d e f g .... z

    oppure

    echo {a..z..2}

    a c e g i k m o q s u w y Con i salti da 2

    RispondiElimina