Linux

將日期轉換為標準格式

  • September 14, 2018

我正在使用這個命令,

find -name (file name) -ls | awk '{print $11,"\t",$5,"\t",$7,"\t",$8,$10}' 

收集大量文件的資訊。但是,如果文件在 2018 年被修改,一些文件給我們的日期應該是奇怪的數字。想知道您是否有任何建議將這些數字轉換為標準格式,即 2016 年 5 月、2017 年 5 月、2018 年 5 月。 2017 年之前修改的文件的輸出沒有問題。

有沒有辦法以這種格式獲得目前年份的輸出,比如 2018 年 5 月?

由於您使用的是 Linux,因此您可以使用命令的-printf參數find

find -name 'pattern' -printf '%p\t\t%Tb %TY\n'

樣本輸出:

$ find -name 'file*' -printf '%p\t\t%Tb %TY\n'
./file1     Sep 2018
./file6     Sep 2018
./file4     Sep 2018
./file2     Sep 2018
./file3     Sep 2018
./file5     Sep 2018

試試這個命令。

find . -name (file name) | xargs ls -l --time-style="+%b %Y" | awk '{print $NF,$3,$5,$6,$7}' OFS="\t"

ls -l --time-style="+%b %Y"這用於在 ls 輸出中將時間樣式更改為 MMM YYYY。

引用自:https://unix.stackexchange.com/questions/468927