我想運行一個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