【发布时间】:2015-12-26 21:59:00
【问题描述】:
我想用
评估单个列$(echo "1023630 / ln( 10000 /$2 ) / ( 3435 / ln( 10000 /$2 ) - 298 )" | bc -l)
但在读取文件时会抛出语法错误。我该如何评估这个? 我试过了
while IFS="," read a b c d; do
printf "%s,%s,%s,%s\n" $a $(echo "1023630 / ln( 10000 /$b ) / ( 3435 / ln( 10000 /$b ) - 298 )" | bc -l) $c $d;
done < abcdtemp.csv
150918021814,1421.5,1,
(sRuntime error (func=(main), adr=26): Function ln not defined.
150918021216,1421.5,1.4,
即使使用 awk 也无法正常工作
awk -F',' -v OFS="," '{$2=$(echo "1023630/ln(10000/$2) / (3435/ln(10000/$2)-298)" | bc -l);$3=$(echo "1023630/ln(10000/$3) / (3435/ln(10000/$3)-298)" | bc -l);}1' file
awk -F',' -v OFS="," '{$1;$2=printf "%.1f\n","1023630/ln(10000/$2)/(3435/ln(10000/$2)-298)";$3=printf "%.1f\n","1023630/ln(10000/$2)/(3435/ln(10000/$3)-298)";}1' file
任何提示或帮助,我错过了什么?谢谢。
【问题讨论】: