2017-10-30 5 views
0

내가 AWK에서 값을 얻으려고 : 내가 $()를 시도, 나쁜 대체 보여줍니다왜 대체가 잘못 되었습니까?

a=${awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}'} 
bash: ${awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}'}: bad substitution 

을하지만 난``사용하는 경우, 그것은 잘 작동 :

a=`awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}'` 

awk의 코드는 잘 작동합니다. awk를 사용하여 파일의 문자열과 같이 마지막 "[가져 오기] [2017-10-30 02:30:45 UTC] 끝"과 일치 시키려고합니다. 코드를 사용해보십시오.

+2

하는 반면, myvar=$(....)를 사용하여 변수를 만들어야합니다 "나는 $ 시도() , 그것은 잘못된 대체를 보여줍니다 "하지만 $()'이 보이지 않습니다. – usr

+0

나는 본다. 고마워. –

답변

0

그것의 유효하지 그래서, 당신은 매개 변수 확장의 기본 형태는 ${parameter}

a=${awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}'} 

에서

a=$(awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}') 
관련 문제