如何在HP-UX的Korn Shell中按Month Day Year格式显示日期
在UNIX系统中实现"Month Day Year"格式日期显示
嘿,我来帮你搞定这个日期格式的问题!下面分两部分说明,先讲通用UNIX环境的日期格式逻辑,再重点说HP-UX Korn Shell里的具体实现方法。
通用UNIX系统的日期格式基础
在标准UNIX体系中,date命令通过格式参数来定制输出样式,和你需求相关的几个关键参数是:
%b:输出缩写月份名称(默认是小写,比如apr、oct)%e:输出1-31的日期,单数字日期前会带一个空格(比如6号显示为6)%d:输出两位数字的日期(01-31,适合需要补零的场景)%Y:输出四位数的完整年份(比如2018)
不过要注意,不同UNIX变种的date命令参数支持度有差异——比如HP-UX的date就没有GNU date那种直接输出大写月份的参数,得额外处理。
HP-UX Korn Shell中的具体实现
HP-UX自带的date没法直接输出大写的缩写月份,所以我们可以结合tr和sed命令来调整格式。执行下面这条命令就能得到你想要的APR 6 2018格式:
date +"%b %e %Y" | tr '[:lower:]' '[:upper:]' | sed 's/ / /'
命令拆解:
date +"%b %e %Y":先输出基础格式,比如apr 6 2018(注意日期前有两个空格,是%b后的空格加上%e自带的前导空格)tr '[:lower:]' '[:upper:]':把小写的月份转成大写,变成APR 6 2018sed 's/ / /':把日期前的两个空格替换成一个,最终得到APR 6 2018
如果你能接受日期带前导零(比如APR 06 2018),可以简化命令,用%d代替%e,这样就不需要sed处理空格了:
date +"%b %d %Y" | tr '[:lower:]' '[:upper:]'
这样就完美符合你的需求啦!
内容的提问来源于stack exchange,提问作者Ankit Kumar
相关产品推荐
相关产品推荐

