有人能把我引向正确的方向吗? 我有2GB的图像,其中包括3种types。 例如:
有没有一个快速的脚本/命令我可以运行删除名称中没有“拇指”或“popup”的所有文件。 基本上 – 我只需要删除'12345.jpg'
相当新的这一点,任何帮助将不胜感激! 干杯
在下面的所有代码片段中,运行命令来检查它显示的文件是否真的是你想要删除的文件。 然后通过用rm
或-print
replaceecho
用-delete
执行删除操作
如果您的所有文件都在同一个目录中,则可以删除名称以数字开头的文件。
echo [0-9]*.jpg
如果您的文件位于目录层次结构中,请使用find
。
find . -name '[0-9]*.jpg' -print
如果你特别想匹配popup
和thumb
,没有其他的前缀:
find . -name '*.jpg' \( -name 'popup-*' -o -name 'thumb-*' -o -print \)
在bash≥4.0或zsh中,只要不遇到命令行长度限制,就可以更简单地遍历子目录。 在bash中,首先运行shopt -s globstar
。 然后:
echo **/[0-9]*.jpg
哈哈不止一种方式,less过程:)
从find你想要保留的东西开始:
find -E . -type f -regex '.*((popup)|(thumb))-[[:digit:]]*\.jpg'
否定expression式:
find -E . -type f \! -regex '.*((popup)|(thumb))-[[:digit:]]*\.jpg'
适用于您的示例数据….
如果你满意添加一个删除。
在re_format(3)中阅读它并find(1)知道应用哪些选项,以便您的查找理解扩展正则expression式