martedì 27 marzo 2012

Contare fino a 5

Salve!

Solo un piccolo post! 7 modi per contare fino a 5 nel terminale.

$ i=1;while [ $i -le 5 ]; do echo $i; sleep 1;i=$((i+1)) ;done

$ awk 'BEGIN { i=0; while (i++ <=4) print i }'

$ echo {1..5} | awk '{for (i=1;i<=NF;i++) print i}'

$ for i in {1..5}; do echo $i; sleep 1; done

$ i=1; until [ $i -gt 5 ]; do echo $i; i=$((i+1)); sleep 1; done

$ for ((i=1;i<=5;i++));do echo $i;sleep 1; done

$ awk 'BEGIN { for (i=1; i<=5; i++) print i }'

Ci sarebbe pure

$ seq 1 5

e tanti altri modi...Se volete partecipare, siete i benvenuti :))

Ciao!

15 commenti:

  1. Io ti conto fino a 5 senza usare neanche un CICLO. Ecco qui il risultato molto nerd :D!

    i=1; tempo(){ [ $i -eq 6 ] && return; echo $i; sleep 1; i=$((++i)); tempo; }; tempo

    È un singolo comando bash :D

    RispondiElimina
  2. 1° commento su questo blog:
    leggendo queste istruzioni, mi torna in mente come ragionavo i programmatori old school :D

    RispondiElimina
  3. no, solo pere dire che ci sono parecchi modi di farlo. All'inizio avevo pensato infiniti.
    Stavo tentando di farlo solo con comandi di shell, nessuno esterno, ma pare che almeno sleep si debba usare. Dissento da Light che è costretto a creare una funzione, meglio il ciclo del #4, imho

    RispondiElimina
  4. @Juhan

    siccome nei 7 modi di Bit c'è almeno un ciclo allora ho pensato bene di farne uno senza ciclo :D. Certo son d'accordo con te il miglior ciclo rimane il #4.

    RispondiElimina
  5. @Juhan

    ho pensato di fare una nerdata e fare il tutto senza usare i cicli :D

    RispondiElimina
    Risposte
    1. Sono senza connessione internet. :(

      Elimina
    2. Certo! L'avevo capito prima di subito. Ma sai una cosa? con te e Bit3Lux entro in modalità geek|nerd in automatico e allora...

      Elimina
  6. Miglior ciclo secondo me: seq 1 5
    :D

    RispondiElimina
    Risposte
    1. Però così conta e basta, non esegue nessun comando, neanche uno sleep. Confesso però di non aver approfondito, chssà se si può...

      Elimina
    2. Quando avrrò un pò di tempo farò un post su seq...non è poi così scontato 'sto comando. ;)

      Elimina