我想显示目录大小和30000到50000之间的子目录中的所有文件。
我想通过以下方式显示文件:
file1.xxx md5sum bytesize
file2.xxx md5sum bytesize
这是我到目前为止的代码(必须是一个命令):
find /mnt/analysis -size +30000c -size -50000c -exec md5sum {} \; -exec ls -l {} \; | awk '{print $1 $5 $9}'
输出:
2fc863d4e42fcced35ce17cdbb9cb623
-rwxrwxrwx33673/mnt/analysis/bla/twelve.png
a952105e64609de5149db2da08e3256c
-rwxrwxrwx41412/mnt/analysis/bla/thirteen.png
所需的输出:
/mnt/analysis/bla/twelve.png 2fc863d4e42fcced35ce17cdbb9cb623 33673
/mnt/analysis/bla/thirteen.png a952105e64609de5149db2da08e3256c 41412
问题是awk在两个执行文件上都完成了,这就是权限也进入其中的原因。
你可以先和md5sum住在一起吗
find /mnt/analysis -size +30000c -size -50000c -type f | xargs stat -c"echo \$(md5sum %n) %s" | sh
或带有减号
find /mnt/analysis -size +30000c -size -50000c -type f | xargs stat -c"echo %n \$(md5sum <%n) %s" | sh
(当然,您可以通过附加一个来删除tr -d -
,因为没有文件名可以包含一个)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句