日付が90日以上の購読者[閉じる]

日付が90日以上の購読者[閉じる]

「未接続」で、日付が今日より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<

おすすめ記事