我正在使用这个命令,
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 月?
答案1
由于您使用的是 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
答案2
尝试这个命令。
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。