在 Linux 中使用 find 打印文件和大小的完整路径

cat*_*nts 3 linux bash ls find

以下是规范: 查找 /tmp/test 修改时间后 / modified 中的所有文件,从搜索中排除 /proc 和 /sys,并打印文件的完整路径以及人类可读的大小。这是我到目前为止所拥有的:

find / \( -path /proc -o -path /sys \) -prune -o -newer /tmp/test -exec ls -lh {} \; | less
Run Code Online (Sandbox Code Playgroud)

问题是未打印完整路径。不幸的是,ls 不支持打印完整路径!我发现的所有显示如何打印完整路径的解决方案都建议使用 find。:|

有任何想法吗?谢谢!

sca*_*cai 5

相反的-exec ls -lh {} \;,你也可以使用printf选项:

find / \( -path /proc -o -path /sys \) -prune -o -newer /tmp/test -printf "%s %p\n" | less
Run Code Online (Sandbox Code Playgroud)

尽管这只会以字节为单位打印大小,而不是以良好的人类可读格式ls支持。