我有很多rsync命令失败的残留文件。它们都有5个(随机)字符的文件扩展名。是否有一个命令可以找到扩展名为4个字符且递归更多的所有文件?
rsync残留文件名的示例:foo.jpg.hzmkjt7
我已经找到了一种通过rsync来防止这种情况的方法,但我现在需要做的就是清理那些残羹剩饭......
答案 0 :(得分:1)
您可以为此编写正则表达式:
\set startSmallOffset 1000000
\set traineeNext :startSmallOffset+2000
ALTER SEQUENCE record_trainee_id_seq RESTART WITH :traineeNext
也就是说,查找以find /your/dir -regextype posix-extended -regex '.*\..{4,}$'
和4个或更多结尾的文件。
关于如何使用How to use regex in file find的正则表达式的想法。
答案 1 :(得分:1)
使用bash,一个选项是使用globstar
,如下所示:
shopt -s globstar # enable the shell option
echo **/*.????? # to test which files are matched
rm **/*.????? # if you're happy
该模式匹配当前目录中的所有文件或以.
后跟5个字符结尾的所有子目录。
不是将任何字符与?
匹配,而是通过将glob更改为**/*.[[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]]
以匹配5个字母数字字符来更具体。