我有以下终端命令:
find /home/not_this/ \! -user not_this_user_account
目标是找到不属于指定用户的所有文件和目录,这个版本的find
命令效果很好。
但是,我真的很想返回返回的文件和目录的所有者。
所以:
/home/not_this/test1.html
/home/not_this/test2.html
会返回这个:
someone_else /home/not_this/test1.html
someone_else /home/not_this/test2.html
或者返回这个:
/home/not_this/test1.html someone_else
/home/not_this/test2.html someone_else
如何使用该find
命令返回不属于指定用户的文件/目录以及这些文件/目录的所有者?
因为我不认为自己精通 Linux 终端,所以我同意使用不同的命令,只要它返回所需的结果并且不需要某种特殊条件(例如下载和安装不是的东西)在每个 Linux 发行版上)。
大多数
find
实现允许您使用printf
函数格式化它们的输出。请咨询您自己的系统
man find
以了解实际支持的格式化选项。使用
-printf '%u\t%p\n'
给我一个 TAB (\t
) 分隔的列表,其中包含用户名%u
(或无法解析为用户名时的 UID 号)和完整的文件名,包括路径%p
。需要换行符\n
,否则每行看不到一个项目。给出一个列表,例如: