如何在 Linux 上使用正则表达式列出所有其他文件扩展名?

如何在 Linux 上使用正则表达式列出所有其他文件扩展名?

我有以下命令,其中列出了所有具有扩展名的文件.swf,但我想返回没有扩展名的每个文件的列表.swf

find . -maxdepth 1 -regextype posix-egrep -regex '.*/.*\.swf' -exec echo {} \;

答案1

只需否定条件

-not -regex '.*/.*\.swf'

答案2

如果您想要的只是没有扩展名的文件.swf,只需使用 reverse grep

find . -maxdepth 1 -type f | grep -v *\.swf

或者,使用-namefind 来否定:

find . -maxdepth 1 ! -name "*\.swf"

相关内容