簡體   English   中英

如何格式化后bash / sh / shell日期

[英]How to format following bash/sh/shell date

如何將此“美國東部時間2016年5月18日下午1:05:30”格式化為+%Y-%m-%d 00:00:00

 JayOSX:~ jay$ d=$(defaults read /Library/Preferences/com.someapp.some.plist LastUpdated) 

回聲“ $ d”

 ##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]

干得好 ,

創建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  }'

我希望這個能幫上忙 ;)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM