У меня есть скрипт, который найдет расстояния между двумя атомами в pdb.фильтрация файлов по номерам в bash error унарный оператор ожидается
bash не распознает десятичные знаки, поэтому я поставил скрипт printf на округлые десятичные знаки.
и echo $ b отлично работает и дает мне целочисленное значение.
, но линия if для моей системы фильтрации не работает.
я получаю и ошибка о том,
[: -ge: unary operator expected
ниже является частью сценария, что я работаю.
a=$(awk '$2=='91'{x1=$6;y1=$7;z1=$8} $2=='180' {x2=$6;y2=$7;z2=$8} END{print sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) + (z1-z2)*(z1-z2))}' ${names}.pdb.$i)
b= printf %.0f $a
echo $b
if [ $b -ge 1 ] &&[ $b -le 9 ]; then
всякая помощь будет принята с благодарностью. Заранее благодарю.
Попробуйте вместо этого 'b = $ (printf"% .0f "$ a)' –
Кажется, я ответил на ваш предыдущий вопрос, и все в порядке. Но сначала вы этого не приняли. – BMW
@jkbkot Thx его работа. – user3267931