2016-06-07 2 views
0

를 사용하여 인쇄 전에 소수점 연산을 떠 어떻게 나는이변수를 정의하고 AWK

grep E0 OSZICAR | tail -1 | awk -v var="$e0" '{vac = $5 - $var - 0.5 * 9.860; print vac}'

$ E0 이전에 정의 된 bash는 변수입니다 싶지.

AWK : 이제 우리는 오류 메시지가 치명적 : 필드를 -287

-287 액세스 시도를 당신이 사용해야합니다 $ E0

답변

0

의 interger 부분 :

grep E0 OSZICAR | tail -1 | 
awk -v var="$e0" '{vac = ($5 - var - 0.5) * 9.860; print vac}' 

주 awk 내에서 $var 대신 var을 사용하고 하위 표현식을 둘러싼 괄호를 사용하십시오.

0

당신은 greptail 전혀 필요가 없습니다

awk -v var="$e0" '/E0/{num=$5}END{print((num - var - 0.5) * 9.860)}' OSZICAR 
관련 문제