我想运行一个find
命令,该命令将查找某个文件列表,然后遍历该文件列表以运行某些操作。我也想找到列表中所有文件的总大小。在UNIX中获取文件列表的总大小
我想先制作文件列表,然后做其他操作。有没有简单的方法可以报告列表中所有文件的总大小?
从本质上说,我试图找到一个班轮在下面的代码片段“TOTAL_SIZE”变量:
#!/bin/bash
loc_to_look='/foo/bar/location'
file_list=$(find $loc_to_look -type f -name "*.dat" -size +100M)
total_size=???
echo 'total size of all files is: '$total_size
for file in $file_list; do
# do a bunch of operations
done
你可以用'printf的 “%P%S \ n”'在'find'命令显示名称+大小。 – fedorqui
@fedorqui如果她的'find'版本支持'-printf'。某种形式的'-exec stat -f'%z'{} \;'(取决于你系统对'stat'的实现)也可以。 – chepner
@fedorqui:在for循环之前,您还必须分割文件名和大小...... – sanmiguel