如何从具有特定文件名长度的目录中删除所有文件?

Dec*_*ncy 6 linux bash rm

我有一个 tmp 目录,里面装满了程序创建但没有正确清理的各种文件。这些文件中的每一个都有一个简单的 6 个随机字符的文件名。除此之外,目录中还有几十个合法文件我不想删除。我可以将它们移出然后 rm -rf 整个目录,但我认为会有一种更简单的方法,因为方便的是,没有一个合法文件的文件名长度为 6。

例子:

-rw-------  1 root root    0 Sep  8 08:59 BxP6dX
-rw-------  1 root root    0 Sep  7 03:29 c93Rb2
-rw-------  1 root root    0 Sep  8 12:29 Cq8S3f
-rw-------  1 root root    0 Sep  8 03:59 CV_6kc
-rw-------  1 root root    0 Sep  7 15:29 d5cBqw
drwxr-xr-x  2 root root   40 Sep  6 16:03 legitimateFile
-rw-------  1 root root    0 Sep  7 21:29 qC5XQD
-rw-------  1 root root    0 Sep  9 04:59 Qid8Rt
-rw-------  1 root root    0 Sep  7 07:29 QIwMjT
-rw-------  1 root root    0 Sep  8 04:29 qp8J8H
-rw-------  1 root root    0 Sep  6 18:40 RcgcD3
-rw-------  1 root root    0 Sep  9 12:59 rIVtWR
-rw-------  1 root root    0 Sep  7 19:29 RpuePj
-rw-------  1 root root    0 Sep  8 17:59 rYJkh2
-rw-------  1 root root    0 Sep  8 09:59 S1WOSJ
-rw-------  1 root root    0 Sep  7 02:59 s3F0OA
Run Code Online (Sandbox Code Playgroud)

bash 中是否有一种简单的方法来删除随机生成的文件?

Ƭᴇc*_*007 9

您可以使用? 通配符来表示单个字符。

所以像rm ??????应该删除所有文件名长度为 6 个字符的文件。