需求, /data
目錄下撤逢, 有一些文件夾是以 mp4
,mkv
, wmv
粮坞,avi
等結(jié)尾的蚊荣,內(nèi)容是對(duì)應(yīng)的視頻文件的取樣截圖,而且全路徑可能有空格
(大坑一個(gè))捞蚂,要統(tǒng)計(jì)每個(gè)文件夾的大小妇押,以及記錄下全路徑
find /data -type d -print0 | xargs -0 -n 1 | grep -iE "mp4$|mkv$|wmv$|avi$" | sed 's# #\\ #g' | xargs du -sh > ~/videos_d.tsv
幾個(gè)知識(shí)點(diǎn)
1、不用能for
循環(huán)姓迅, 碰到有空格的文件夾會(huì)當(dāng)作兩個(gè)或更多文件夾處理敲霍,不對(duì)
2俊马、-print0
是為了輸出一個(gè)null
字符(不同于空格), 后面用xargs -0
識(shí)別這個(gè)null
肩杈, 用-n 1
換行
3柴我、 grep
正則匹配,這個(gè)簡(jiǎn)單
4扩然、sed
是為了給為了把一個(gè)[空格]
換成 \[空格]
艘儒, 否則后面的du -sh
又會(huì)在空格處打斷