You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Linux命令删除目录中非4字符文件名(忽略扩展名)的文件?

按文件名前缀长度删除文件的Linux命令

要删除当前目录中文件名前缀(不含扩展名)长度不为4个字符的文件,保留前缀为test(4个字符)的文件,可以用以下bash循环命令:

for file in *.*; do
    prefix="${file%.*}"
    if [ ${#prefix} -ne 4 ]; then
        rm -- "$file"
    fi
done

命令说明:

  • for file in *.*:遍历当前目录下所有带扩展名的文件(匹配你列出的所有目标文件)
  • prefix="${file%.*}":通过参数扩展截取文件名的前缀部分(比如test2.png会被处理为test2)
  • if [ ${#prefix} -ne 4 ]:判断前缀的字符长度是否不等于4
  • rm -- "$file":删除符合条件的文件,--用来避免文件名以-开头时出现命令参数错误

安全建议:

执行删除前,建议先把rm -- "$file"替换成echo "$file",运行后查看输出的文件列表,确认是你想要删除的文件,再替换回rm执行删除操作。

内容的提问来源于stack exchange,提问作者Dev0r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 11:02:13