2

この問題で私は壁で頭を殴っています、助けてください。

2つのファイルSheetthickness.kには初期の厚さの単一の値が含まれ、minThick.kには最終的な厚さの単一の数値のみが含まれています。厚みの減少率を計算したいので使用しました。

fina="$(cat minThick.k)";
echo $fina
init="$(cat Sheetthickness.k)";
echo $init 

echo |awk "{ print ($init-$fina)/($init) }" > LSDynaResponse.txt

他のコマンドがなく、ファイルがすでに存在するシェルでは、完全に機能しますが、ファイルがソフトウェアによって作成され、これらのコマンドが使用されると、エラーが発生します。

awk: { print (-)/() }  
awk:           ^ syntax error
awk: { print (-)/() }
awk:            ^ syntax error
awk: { print (-)/() }
awk:             ^ unterminated regexp

このタスクを実行する他のエレガントな方法はありますか?

4

1 に答える 1

1

空のファイルがあるか、ファイルがまったくないようです。次のようにしてみてください。

fina="$(cat minThick.k)"       || echo "No min file!!"
[[ -z $fina ]]                 && echo "Null min value!!"
echo $fina
init="$(cat Sheetthickness.k)" || echo "No init file!!"
[[ -z $init ]]                 && echo "Null init value!!"
echo $init
echo "($init-$fina)/($init)"   | bc -l > LSDynaResponse.txt
于 2012-07-16T08:13:43.483 に答える