У меня есть файл с содержимым:Условия использования
$> cat file
1
2
4
Теперь я хотел бы использовать/запустить другой сценарий, если разница между числами (вычитание) больше, чем 1, в противном случае выход из основной скрипт.
Я попытался сделать это следующим образом, но не работает:
less file \
| awk '\
function abs(x){return (((x < 0.0) ? -x : x) + 0.0)}\
BEGIN{i=1;}\
{new=old;old=$1}\
{if(abs($1-new)>1)i++;}
END{if(i>1) print 1; else print 0;}' \
| while read i;do
if ((${i}));then
echo -n "Would you like to continue? [yes or no]: "
read yno
case ${yno} in
y)
echo Continuing...
;;
n)
echo Exiting...
;;
*)
echo "Invalid input"
;;
esac
else echo Cont...
fi
done
Я хотел бы ожидать, что если $ {я} == 1, то я могу принять решение, хочу ли я продолжать или нет.
Рад помочь вам решить вашу проблему, если эти решения не помогают, если вы можете уточнить ваши намерения, побуждая «вы бы ...». Почему вы не можете сделать вычитание и разрешить коды выхода, чтобы определить, что происходит вне awk. Вы говорите «но не работает», пожалуйста, отредактируйте свой вопрос, чтобы показать, какие сообщения об ошибках вы получите, или укажите, почему вы говорите, что он не работает. Похоже, он должен работать. Удачи. – shellter