Text-Processing
從 ls -laLR 解析文件
ls -laLR /home/tools > all_site1.txt
我需要
/home/tools
. 使用此命令,我將所有內容都放入此文件中。我現在需要的是一個解決方案,如何從這個文件中解析all_sites1.txt
只有目錄所有者或文件所有者是 root 的行。我試過這個:
awk '/root/{print $0}' all_sites1.txt
但我得到了所有發生的地方
root
。我只需要所有者是 root 以及要列印什麼文件和/或目錄的條目。
如果您要保存文件夾/文件的狀態,
getfacl
這是一個更好的命令。您可以執行以下操作:getfacl -LR /home/tools >all_site1.txt
不過要注意的一件事是,該
-L
選項的行為與ls
. 它只遵循指向目錄而不是文件的符號連結。您可以像這樣列印 root 擁有的文件的輸出(前提是所有路徑都不包含換行符):
awk '$2=="file:" && file_line=$0 {} $2=="owner:" && $3=="root" { print substr(file_line,9) }' \ all_sites1.txt