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

Win10 Git Bash下如何筛选无扩展名的File类型文件?

解决Git Bash中筛选类型为“File”的HTML文件问题

嘿,我明白你遇到的问题了——你用find -type "File"报错是因为Git Bash里的find命令,它的-type参数只能接受单个字母的类型标识(比如f代表普通文件、d代表目录),而你看到的“File”是Windows系统里显示的文件类型描述,并不是find能识别的参数值。

要筛选这些实际是HTML的无扩展名文件,我们得换个思路:通过文件内容来判断,毕竟它们本质是HTML文件,内容里会有特征标识。这里给你两个实用的方法:

方法1:用file命令识别文件类型

file命令可以检测文件的实际类型,我们可以把它和find结合起来用:

find . -type f -exec file {} \; | grep "HTML" | cut -d: -f1

拆解一下这个命令的作用:

  • find . -type f:遍历当前目录下所有的普通文件(排除目录、链接等)
  • -exec file {} \;:对每个找到的文件执行file命令,输出文件的类型描述
  • grep "HTML":过滤出包含“HTML”关键词的结果行(因为HTML文件会被识别为HTML类型)
  • cut -d: -f1:把每行里的文件名部分提取出来(去掉file命令输出的类型描述部分)

方法2:直接匹配HTML文件的内容开头

大多数HTML文件会以<!DOCTYPE html>或者<html>开头,我们可以用grep检查文件的开头内容,结合find筛选:

find . -type f -exec grep -l "^<!DOCTYPE html>\|^<html" {} \;

这个命令的关键点:

  • -l:让grep只输出匹配到内容的文件名,而不是具体的匹配行
  • ^<!DOCTYPE html>\|^<html:匹配以<!DOCTYPE html>开头,或者以<html>开头的文件(^表示行首,\|表示“或”)

这样就能精准筛选出那些无扩展名但实际是HTML的文件啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:24:48