преобразовать значения одной строки в несколько строк с порядком нумерации

Кавычки вызывают сравнение строкового представления ваших чисел. В алфавитном порядке "42" идет после "120" (, затем "42" > "120" ); численно это не (у вас тогда 42 < 120 ).

2
09.02.2020, 15:14
2 ответа

С awk:

$ servers='server1,server2,server3,server4,server5'

$ awk -v RS=, '{print NR "........" $0}' <<<"$servers"
1........server1
2........server2
3........server3
4........server4
5........server5

или, чтобы вывести номера строк с левым отступом -

awk -v RS=, '{printf "%3d........%s\n",NR,$0}' <<<"$servers"

(выберите ширину поля 3в соответствии с размером вашего списка серверов ).

8
28.04.2021, 23:23
$ awk -F',' '{for (i=1; i<=NF; i++) printf "%-2d........ %s\n", i, $i}' <<<"$servers"
1 ........ server1
2 ........ server2
3 ........ server3
4 ........ server4
5 ........ server5
3
28.04.2021, 23:23

Теги

Похожие вопросы