17.22. Generowanie sekwencji liczbowych

Problem

Chcemy wygenerować sekwencję wartości liczbowych uzupełnionych ewentualnie o dodatkowe ciągi tekstowe. Procedura taka pozwala na przykład na przygotowanie danych do testów.

Rozwiązanie

Zastosowanie programu awk daje gwarancję, że kod będzie działał w każdym systemie.

$ awk 'END { for (i=1; i <= 5; i++) print i, "tekst"}' /dev/null
1 tekst
2 tekst
3 tekst
4 tekst
5 tekst

$ awk 'BEGIN { for (i=1; i <= 5; i+=.5) print i}' /dev/null
1
1.5
2
2.5
3
3.5
4
4.5
5

Analiza

W niektórych systemach, szczególnie w Solaris, program awk wstrzymuje działanie, oczekując na plik. Dlatego konieczne jest przekazanie chociażby ścieżki /dev/null. Definicja ta nie ma znaczenia dla działania instrukcji w innych systemach, więc ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.