-1
嗨我有一個這樣的日期,我想用bash解析和檢查今天的日期csv文件。Bash幾個,如果
12-Jan-2015
檢查只有日期和月份做工不錯
DAT=$(date '+%d %b %Y')
DAY=${DAT:0:2}
MON=$(echo ${DAT:3:3} | awk '{print toupper("$0");}')
YEAR=${DAT:6:5}
while IFS=",-" read name day month year
do
day=$(printf "%02d\n" "$day")
month=$(echo "$month" | awk '{print toupper($0);}')
year=$(printf "%04d\n" "$year")
if [ "$day" -eq "$DAY" ] && [ "$month" = "$MON" ]; then
echo "$name";
fi
done < $SNAPDB > $SNAPTMPDB
,但是當我嘗試也檢查一年
if [ "$day" -eq "$DAY" ] && [ "$month" = "$MON" ] && [ "$year" -eq "$YEAR" ]; then
腳本錯誤結束:行119:2015:命令找不到
我現在試了幾篇着作裏ke [[...]] -a等等。但沒有工作。
感謝您的幫助!
哇,這是快!如果[「$ day」-eq「$ DAY」] -a [「$ month」=「$ MON」] -a [「$ year」-eq「$ YEAR」],我已經試過了。然後,但不幸的是,這與第118行結束:[:缺少']'線119:2015年:命令沒有找到 –
嘗試使用括號和雙括號...像:'if([[「$ day」-eq「$ DAY」 ]] -a [[「$ month」=「$ MON」]] -a [[「$ year」-eq「$ YEAR」]]);然後'。從理論上講,使用這種語法,你也可以使用&&。我現在無法使用bash shell來嘗試。雙括號是推薦的(非POSIX)語法,用於檢查字符串條件(以及用於數字檢查的雙括號) – Jcl
請檢查這一點:http://mywiki.wooledge.org/BashFAQ/031 – Jcl