Как распечатать переменную внутри awk

Несмотря на него не абсолютно ясно, какой OP хочет протестировать: существует различие между попыткой соединения с несуществующим хостом/портом и тайм-аутом уже установленного соединения. Я пошел бы с Rob и ожидал бы, пока соединение не работает, и затем вытяните кабель. Или - для удобства - имеют виртуальную машину, работающую тестовым сервером (с соединенными мостом сетями) и просто деактивация виртуального сетевого интерфейса, как только соединение устанавливается.

6
задан Ayman Hourieh 1 December 2009 в 21:33
поделиться

4 ответа

Думаю, это то, что вам нужно:

#!/bin/bash

file=tau
f=2.54
order=even

awk "{sum+=\$2}; END {print \"${file}_${f}_${order}_v1.xls\", sum/NR}" \
  ${file}_${f}_${order}_v1.xls >> safe/P-state-summary.xls
8
ответ дан 8 December 2019 в 02:52
поделиться

Во-первых, вам нужно экспортировать переменные среды, если вы хотите, чтобы они передавались в среду дочернего процесса, такого как awk .

Во-вторых, вы можете использовать ENVIRON ["name"] , чтобы получить переменную окружения в awk . Итак, у меня работает следующее:

#!/bin/bash

export file=tau
export f=2.54
export order=even

awk '{sum+=$2}; END {print ENVIRON["file"] "_" ENVIRON["f"] "_" ENVIRON["order"] "_v1.xls", sum/NR}'
14
ответ дан 8 December 2019 в 02:52
поделиться

Не забывайте, что вы можете установить "переменные AWK" в командной строке

awk -v FOO=bar '...<AWK code that uses the AWK variable FOO>...'
10
ответ дан 8 December 2019 в 02:52
поделиться

Что ж, я использовал смесь вышеперечисленных решений и заставил ее работать с этим

printf "\n${file}_${f}_${order}_v1.xls  " >> Safe/P-state-summary.xls
awk '{sum+=$3}; END  {print sum/NR}' ${file}_${f}_${order}_v1.xls >> Safe/P-state-summary.xls
0
ответ дан 8 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

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