获取文件的ctime,atime,mtime和扩展属性

我想显示一个文件的ctime,mtime和atime,以及它是否具有扩展属性。 有2个命令可以做到这一点,但我没有能够把它们合并成一个单一的命令来给出一行输出。

find /tmp -maxdepth 1 -printf "%a _ %c _ %t _ %P\n" 

给出类似于这样的输出:

 Thu Aug 27 09:51:11 2015 _ Thu Aug 27 09:48:40 2015 _ Thu Aug 27 09:48:40 2015 _ tempfile.tmp 

 ls -l /tmp 

给出类似于这样的输出:

 -rw-rw----+ 1 root root 5 Aug 27 04:39 tempfile.tmp 

我只对ls输出中的权限之后的“+”符号感兴趣。

理想情况下,我希望输出与此类似:

 + Thu Aug 27 09:51:11 2015 _ Thu Aug 27 09:48:40 2015 _ Thu Aug 27 09:48:40 2015 _ tempfile.tmp Thu Aug 27 09:51:11 2015 _ Thu Aug 27 09:48:40 2015 _ Thu Aug 27 09:48:40 2015 _ anothertempfile.tmp 

你可以写一个脚本来为你做(这是丑陋的,但工程):

 #!/bin/bash for f in *; do flag="x" attr=$(getfattr $f) if [ "$attr" = "" ] then flag=" " fi find -name $f -printf "$flag %a _ %c _ %t _ %P\n" done 

所以编写一个shell脚本来将数据收集到variables中。 在variables中有数据之后,您可以重新格式化并按照您想要的方式打印它们。