我想显示一个文件的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中有数据之后,您可以重新格式化并按照您想要的方式打印它们。