一条命令找到需要的全路径带空格的文件夹并统计大小

需求, /data目录下, 有一些文件夹是以 mp4mkv, wmvavi等结尾的,内容是对应的视频文件的取样截图,而且全路径可能有空格(大坑一个),要统计每个文件夹的大小,以及记录下全路径

 find /data -type d -print0 | xargs -0 -n 1 | grep -iE "mp4$|mkv$|wmv$|avi$" | sed  's# #\\ #g' |  xargs du -sh  > ~/videos_d.tsv

几个知识点
1、不用能for循环, 碰到有空格的文件夹会当作两个或更多文件夹处理,不对
2、-print0是为了输出一个null字符(不同于空格), 后面用xargs -0识别这个null, 用-n 1换行
3、 grep正则匹配,这个简单
4、sed是为了给为了把一个[空格]换成 \[空格], 否则后面的du -sh又会在空格处打断

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。