Files
如果文件名稱的數字部分大於給定數字,如何刪除文件?
我有這樣的文件:
cap_20151023T122915_791033959.png cap_20151023T122918_946392456.png cap_20151023T122920_227637228.png cap_20151023T122920_875467456.png
並且我想使用該
find
命令刪除大於,例如,cap_20151023T122919*
這將導致刪除cap_20151023T122920_227637228.png
和cap_20151023T122920_875467456.png
。有沒有辦法做到這一點,最好用一個
find
命令?
使用
zsh
和<[x]-[y]>
glob 運算符(匹配範圍內x
的y
數字,包括在內;可以省略任何一個數字以使范圍開放),例如:print -rl -- **/cap_20151023T<122920->_*
或者,如果您只想選擇
122920-999999
範圍內的文件名:print -rl -- **/cap_20151023T<122920-999999>_*
所以文件名如下:
tmp/cap_20151023T122915_791033959.png tmp/cap_20151023T122915791_959.png tmp/cap_20151023T122918_946392456.png tmp/cap_20151023T122920_227637228.png tmp/cap_20151023T1229205_875467456.png tmp/cap_20151023T122920_875467456.png tmp/cap_20151023T122980_227637228.png
第一個列印:
tmp/cap_20151023T122915791_959.png tmp/cap_20151023T122920_227637228.png tmp/cap_20151023T1229205_875467456.png tmp/cap_20151023T122920_875467456.png tmp/cap_20151023T122980_227637228.png
而第二個列印:
tmp/cap_20151023T122920_227637228.png tmp/cap_20151023T122920_875467456.png tmp/cap_20151023T122980_227637228.png
如果您對結果感到滿意,請替換
print -rl
為rm -f