2015-03-06 18 views
6

Tôi đã có một loạt các file nằm rải rác trên khắp các thư mục trong một bố cục, ví dụ:Làm thế nào để tính toán tổng kích thước của tập tin nhất định mà thôi, đệ quy, trong linux

dir1/somefile.gif 
dir1/another.mp4 
dir2/video/filename.mp4 
dir2/some.file 
dir2/blahblah.mp4 

Và tôi cần phải tìm đĩa tổng không gian được sử dụng cho các tệp MP4 chỉ. Điều này có nghĩa là nó phải được đệ quy bằng cách nào đó.

Tôi đã xem du và không quan tâm đến các đường ống đến grep nhưng dường như không thể tìm ra cách tính chỉ các tệp MP4 cho dù chúng ở đâu.

Đầu ra không gian đĩa tổng số có thể đọc được của con người cũng phải là tốt nhất, tốt nhất là trong GB, nếu có thể?

Bất kỳ ý tưởng nào? Cảm ơn

Trả lời

5

Đối với kích thước từng file:

find . -name "*.mp4" -print0 | du -sh --files0-from=- 

Đối với tổng dung lượng đĩa trong GB:

find . -name "*.mp4" -print0 | du -sb --files0-from=- | awk '{ total += $1} END { print total/1024/1024/1024 }' 
+0

Tôi cũng sắp đề xuất lệnh đầu tiên. Kể từ khi bạn vượt qua '-s' nó nên đã tóm tắt, nhưng hey nó liệt kê các kích cỡ cho mỗi tập tin cá nhân nếu' --files0-from' được thông qua. Điều này trông giống như một lỗi, phải không? – hek2mgl

+0

Từ trang người đàn ông: '-s, chỉ hiển thị tổng số cho mỗi đối số'. Ở đây mỗi tệp được truyền vào đầu vào tiêu chuẩn là một đối số khác nhau. '-s' hữu ích với các thư mục. –

+0

Cố gắng xóa 'print0' khỏi tìm và xóa tùy chọn --files0-from. Bây giờ nó sẽ tính toán tổng số trong khi chúng tôi vẫn đang đi qua nhiều đối số tập tin – hek2mgl

2

này sẽ tổng hợp tất cả các file mp4 kích thước tính bằng byte:

find ./ -name "*.mp4" -printf "%s\n" | paste -sd+ | bc 
2

Bạn có thể chỉ cần thực hiện:

find -name "*.mp4" -exec du -b {} \; | awk 'BEGIN{total=0}{total=total+$1}END{print total}' 

Tùy chọn tìm lệnh -exec thực hiện lệnh đơn giản với {} như tệp được tìm thấy bằng cách tìm. du -b hiển thị kích thước của tệp theo byte. Lệnh awk khởi tạo một biến tại 0 và nhận được kích thước của mỗi tệp để hiển thị tổng số ở cuối lệnh.

Các vấn đề liên quan