我确信这有一个简单的答案:
为什么下面没有给我脚本中的日期和时间?我应该使用什么而不是awk?如果我需要查询文件,awk工作正常,但我想在这里使用是错误的。
代码:
$ySTD=$(date --date yesterday "+%Y-%m-%d") | awk '{print substr($1,1,10)}'
echo ${ySTD}
echo 'STD calculated from DATE - last 24 hrs data will be fetched'
${ySTM}=$(date --date yesterday "+%T")| awk '{print substr($1,1,5)}'
echo ${ySTM}
在shell中,我在脚本运行时得到它:
+ awk '{print substr($1,1,10)}'
++ date --date yesterday +%Y-%m-%d
+ =2014-07-03
logdat3: line 41: =2014-07-03: command not found
+ echo
+ echo 'STD calculated from DATE - last 24 hrs data will be fetched'
STD calculated from DATE - last 24 hrs data will be fetched
+ awk '{print substr($1,1,5)}'
++ date --date yesterday +%T
+ =11:33:34
logdat3: line 45: =11:33:34: command not found
+ echo
非常感谢提前
答案 0 :(得分:1)
你需要严格,不需要awk:
$ read ySTD ySTM < <(date --date yesterday "+%Y-%m-%d %T")
$ echo $ySTD
2014-07-03
$ echo $ySTM
12:16:37
无论如何,您修改了原始代码:
ySTD=$(date --date yesterday "+%Y-%m-%d")
echo ${ySTD}
echo 'STD calculated from DATE - last 24 hrs data will be fetched'
ySTM=$(date --date yesterday "+%T")
echo ${ySTM}
您不需要获取子字符串。