Linux
獲取文件的 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 腳本將您的數據收集到變數中。在變數中獲得數據後,您可以重新格式化並完全按照您想要的方式列印它們。