我正在寻找一种方法在AIX上将“yyyymmdd”转换为“mmm dd”格式 - 例如,20150915
应该变为sep 15
。
我知道这可以用GNU日期date --date="yyyymmdd" +'%b %d'
来完成,但这在我的环境中不可用。
如何在AIX上执行此转换?
编辑:感谢您的建议,我最终编写了一个像下面这样有效的脚本
echo“在dd MON yy中输入日期,如”2015年9月12日“2015年9月12日”
阅读日期月份
案例$月
“JAN”)mm = 01 ;;
“FEB”)mm = 02 ;;
“MAR”)mm = 03 ;;
“APR”)mm = 04 ;;
“MAY”)mm = 05 ;;
“JUN”)mm = 06 ;;
“JUL”)mm = 07 ;;
“AUG”)mm = 08 ;;
“SEP”)mm = 09 ;;
“OCT”)mm = 10 ;;
“NOV”)mm = 11 ;;
“DEC”)mm = 12 ;;
*)echo“请提供适当的参数”
exit ;;
ESAC
date_conversion = echo "20"${year}${mm}$date
答案 0 :(得分:1)
如果你没有GNU日期,你可能想制作一个类似的脚本:
#!/bin/bash
# convertDate.sh
date=$1
month=${date:4:2}
day=${date:6:2}
case $month in
"01")
echo "jan $day"
;;
[...fill this in...]
"09")
echo "sep $day"
;;
esac
然后你可以这样称呼它:
$ myDate=$(convertDate 20150915)
$ echo $myDate
sep 15
$
答案 1 :(得分:1)
您可以从安装GNU date命令的AIX Toolbox安装coreutils。 你可以在这里找到它:http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html
# /opt/freeware/bin/date --date="2016-07-20" +'%b %d'
Jul 20