查找没有扩展名的文件

paw*_*318 61 shell bash find wildcards

假设我有:

foo.txt
bar
baz.ooo
Run Code Online (Sandbox Code Playgroud)

如果我使用,ls -1 !(*.*)那么我只会得到bar输出。太好了,现在我希望找到相同的结果 - 有些find -regex可以完成这项工作。

笔记:

find -name !(*.*)不是答案,因为!(*.*)它仍然是我无法使用的 Bash glob。

fdu*_*uff 88

你可以使用:find . -type f ! -name "*.*"!否定了下面的表达式,这里包含一个文件名“”

您还可以使用该-maxdepth选项来减少搜索深度。

  • 如果您将 `.gitignore` 视为没有扩展名的文件(如 Node 的 path.extname()),请使用 `! -name "?*.*"` 而不是 `! -name "*.*"` (4认同)
  • @Noumenon 做`set +H` 来解决这个问题 (2认同)