O'Reilly logo

Bash. Receptury by Cameron Newham, JP Vossen, Carl Albing

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required