Im пытается заменить число в файле с вычисленной плавающей переменной в файле bash. Поэтому я пытаюсь заменить 1.1111 на значение «km» и сохранить его в файле mesh.in. Я продолжаю получать ошибку в строке sed, я думаю, что может возникнуть проблема с плавающей переменной. Эхо «$ км» не работает, так что я знаю, что км не проблемаbash заменить строку плавающей переменной
#!/bin/bash
read -p "Angle in degrees : " n1
read -p "bcsa : " n2
cd viv_example_se2d
sed s/^bcsa.\*/"bcsa $n2"/ runfile.viv >temp
mv -f temp runfile.viv
cd ../
for i in $(seq 2 0.5 12)
do
if [ ! -d U*_$i ];then
mkdir U*_$i
fi
printf -v "km" "%.4f\n" $(echo | bc | awk "BEGIN {print 4*3.14159265359*3.14159265359/($i*$i)}")
echo "$km"
cd viv_example_se2d
sed s/1.1111/$km/g mesh_master.in > temp$i
mv -f temp$i mesh.in
cd ../
echo $home/lustre/projects/p057_swin/ogoldman/Ellipse_$n1/U*_$i | xargs -n 1 cp viv_example_se2d/*
done;
Это 'эхо | bc | 'бит этой команды ничего не делает и может быть отброшен. –
Какая ошибка вы получаете от 'sed'? –
sed: -e выражение # 1, char 15: команда unterminated 's –