"연결되지 않음"이고 날짜가 오늘보다 90일 빠른 구독자만 표시해야 합니다.
이 목적으로 다음 명령이 사용됩니다.
cat vfsubscriber_20170817.csv | sed -e 's/^"//' -e '1d' | nawk -F '",' '{if ( (substr($11,2,4) == 2017) && ( substr($11,2,8) -lt $dm )&&($9=="\"unconnected") ) print $1,substr($11,2,8),$dm}' dm=$(perl -e 'use
POSIX qw(strftime); print strftime "%Y%m%d",localtime(time()- 3600*24*90);') > ${EXTRACT_FILE}
문제는 이 표현식이 평가되지 않는다는 것입니다.( substr($11,2,8) -lt $dm )
dm=$(perl -e 'use
POSIX qw(strftime); print strftime "%Y%m%d",localtime(time()- 3600*24*90);')
결과는 "20170520"이며 정확합니다.
명령에서 이 표현식을 올바르게 평가하고 비교할 수 있도록 도와주세요.
답변1
dm=$( )
awk 외부에서 평가하려면 다음을 시도하십시오.
... | nawk -v dm=$(perl ... ) ' ... '
그리고 awk 에서는 사용하지 마세요 -lt
.<