如何格式化“2016年5月18日美国东部时间下午1:05:30”至+%Y-%m-%d 00:00:00
回声“$ d”JayOSX:~ jay$ d=$(defaults read /Library/Preferences/com.someapp.some.plist LastUpdated)
##returns May 18, 2016 at 1:05:30 PM EDT
我试过了:
date -j -f "%b %d, %Y at %l:%M:S %Z" "$(defaults read /Library/Preferences/com.someapp.some.plist LastUpdated)” + "%Y-%m-%d 00:00:00"
我收到了以下错误:
Failed conversion of ``%d,'' using format ``“%b''
date: illegal time format
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
答案 0 :(得分:0)
你去,
创建infile.txt:
echo "May 18, 2016 at 1:05:30 PM EDT" > infile
现在我们有:
[za]$ cat infile.txt
May 18, 2016 at 1:05:30 PM EDT
一个可以做到的班轮。仅供参考,"%s-%s-%s %s %s:%s:%s \n", $4 , $1 , $2 , $3 , $6 , $7 , $8
是重新格式化的内容。
[za]$ awk -F'[ "\t" :,]' '{printf "%s-%s-%s %s %s:%s:%s \n", $4 , $1 , $2 , $3 , $6 , $7 , $8 }' infile.txt
输出:
2016-May-18 1:05:30
快速测试。
echo May 18, 2016 at 1:05:30 PM EDT | awk -F'[ "\t" :,]' '{printf "%s-%s-%s %s %s:%s:%s \n", $4 , $1 , $2 , $3 , $6 , $7 , $8 }'
我希望这会有所帮助;)。