Предполагая, что ваш вход находится в файле под названием A.Txt
:
paste a.txt <(awk 'NR%2?ORS=FS:ORS=RS' a.txt | awk '{print $1/($1+$3)}' | sed G)
Первый awk
принесет последовательную пару строк в одном линия. Следующий awk
будет выполнять желаемый расчет. SED
будет вставить новую строку в результате и перенаправить вывод на вставку
, которая принесет его и вводится вместе.
Это даст следующее:
10 ID1_1 0.333333
20 ID1_2
1 ID3_1 0.1
9 ID3_2
15 ID2_1 0.047619
300 ID2_2
Существует несколько методов, чтобы взломать вашу проблему широко открытой.
Я понимаю, что вы используете C-Shell (я использую Bash, но определенную среду я взаимодействую с использованием TCSH.).
Подход блокировки процессов выглядит наиболее похоже на это:
#!/bin/csh
set process_id = $1
set sub_sequent_cmd = $2
set ANTECEDENT_PROC = XXYYZZ
#
while (pidof $ANTECEDENT_PROC)
do
sleep 10
if (pidof $ANTECEDENT_PROC)
then
sleep .1
else
./sub_sequent_command
break
fi
end
Предпосылка решения - это то, что важно. Мониторируйте ProCEN с внешним сценарием, и когда предшествуют предшествующие пункты, выполните следующий скрипт.
Это будет работать только, если вы восстанавливаете ваш сценарий CSH, который будет вызывать в экспортированной сессии CSH.