转换以下文字的bashonic方式是什么:
Specifications of bla/bla.txt created at 181438 on the 20160720
成:
Specifications of bla/bla.txt created at 18:14:38 on the 20th July 2016
我目前用以下信息生成我的消息:
printf "Specifications of %s created at %d on %d\n" "$1" "$thehour" "$thedate"
$thehour
和$thedate
是从bla.txt
中提取的。它们与任何文件标签或文件的实际创建日期无关。
我基本上都在询问BASH是否已经提供了这样的功能,如果没有,那么如何才能轻松实现这一功能。
答案 0 :(得分:2)
使用GNU date
:
$ thehour=181438
$ thedate=20160720
$ printf 'Specifications of bla/bla.txt created at %s on %s\n' "$(sed \
's/../&:/g' <<<"$thehour"|sed 's/.$//')" "$(date -d "$thedate" '+%dth %B %Y')"
<强>输出:强>
Specifications of bla/bla.txt created at 18:14:38 on 20th July 2016
sed 's/../&:/g' <<<"$thehour"|sed 's/.$//'
以所需格式获取thehour
变量扩展
date -d "$thedate" '+%dth %B %Y'
获取thedate
变量展开,即使用date
所需的日期格式