Как вывести вывод команды 'cal' в csv.?

Мое предложение будет (немного изменено, так как у меня нет вашей настройки curl/HTTP):

$ t=$(TIMEFORMAT=%R bash -c 'time for i in {1..3}; do sleep $((RANDOM % 5)); done' 2>&1)
$ avg=$(bc <<< "scale=3; $t/3")
$ echo $avg # YMMV
2.667

Так как timeявляется встроенным -bash, нам нужно поместить перенаправление stderr"снаружи" вызова времени; вот почему я обернул основную часть bash -c....

Вам не нужно устанавливать TIMEFORMAT каждый раз в цикле; просто поместите его в среду для вызова bash/time.

Обратите внимание, что арифметика оболочки основана на целых числах -, поэтому для значений с плавающей запятой -используйте что-то вроде bc. В моем выводе timeбыло 3 знака после запятой, так что я также попросил bc.

1
12.09.2019, 13:32
1 ответ

Попробуйте это,

 cal 2020  | sed 's/ \([0-9]\) /\1 /g;s/ \([0-9]\)$/\1/g;s/ /,/g;s/,,,/,/g' > 2020.csv
3
27.01.2020, 23:22

Теги

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