有没有一种简单的方法可以使用“find -ls”而不显示用户名/组?

有没有一种简单的方法可以使用“find -ls”而不显示用户名/组?

我正在发行说明上写审计跟踪。

目前我正在部署之前找到即将发布的项目并对其进行屏幕截图。

我使用下面的命令:

find -ls | grep item001.class;find -ls | grep item002.class;find -ls | grep item003.class;... ETC

问题是我不想显示不必要的用户名和组,所以我尝试了以下方法:

find -ls | grep item001.class | awk '{$5=$6=""; print $0}';find -ls | grep item002.class | awk '{$5=$6=""; print $0}';

它完成了这项工作,但它删除了文件名的突出显示,并且命令行对于其他人来说变得太混乱。

问题:是否有更好的方法来ls -gG使用命令复制结果find

答案1

您可以使用-printf FORMAT任何您喜欢的格式进行打印。man find详情请参阅。具体来说:

$ ls -ldgG /
drwxr-xr-x 18 4096 Jan 20 13:44 /
$ find / -maxdepth 0 -printf '%M %n %s %Tb %p\n'
drwxr-xr-x 18 4096 Wed Jan 20 13:44:54.5514843650 2021 /

不完全相同,因为在任何情况下都ls无法真正复制日期时间输出。find

相关内容