所以我正在使用
TIMESTAMP=$( stat -c "%y" $JARNAME.jar )
print $TIMESTAMP
它的输出是这样的2015-04-24 17:23:03.000000000 -0500
我只需要2015-04-24 17:23:03
部分
答案1
由于您似乎使用的是 Linux 版本stat(1)
,我假设您也有 GNUcoreutils
版本date(1)
:
TIMESTAMP=$( date +'%Y-%m-%d %H:%M:%S' -r "$JARNAME".jar )
答案2
您GNU
stat
可以简单地使用点修饰符1(+字段宽度)在介绍性字符%
和指定格式的字符之间,例如stat --printf "%.19y" filename
,所以在您的情况下:
TIMESTAMP=$(stat -c "%.19y" infile)
您BSD/OSX
stat
可以使用-f
(格式) 和-t
(时间fmt) 开关:
TIMESTAMP=$(stat -f '%Sm' -t '%Y-%m-%d %H:%M:%S' infile)
1
点:与字段宽度一起,当文本较长时,字段不会扩展,而是会被截断。
答案3
答案4
或者使用剪切:
TIMESTAMP=$( stat -c "%y" $JARNAME.jar | cut -d. -f1 )
print $TIMESTAMP