查找无扩展名的文件


43

假设我有:

foo.txt
bar
baz.ooo

如果我使用的ls -1 !(*.*)话,我只会得到bar输出。太好了,现在我希望获得与find相同的结果-有些find -regex可以完成任务。

注意:

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

Answers:


63

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

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


1
我最喜欢您的答案,因为我的文件名还有其他一些限制,而您的文件名是防弹的。
pawel7318

ls -1 !(*.*)无法使用时,这也很棒,因为!给出了“找不到事件”。
Noumenon

2
@Noumenon尽力set +H解决这一问题
pawel7318 '18

1
如果你把.gitignore一个文件没有扩展名(如Node的path.extname()),使用! -name "?*.*"代替! -name "*.*"
约翰尼黄
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.