如何识别名称中没有扩展名但属性中有扩展名的文件,例如:nav.example.file,它实际上是一个文本文档

如何识别名称中没有扩展名但属性中有扩展名的文件,例如:nav.example.file,它实际上是一个文本文档

find -maxdepth 1 ! -name "*.*" -print

这不是识别像 INSSO.TEST.20100503.16400006 这样的文件名,它是一个 xml 文档

答案1

如果您想根据文件中的内容(而不是文件名)查找文件,您将需要查看它们。 寻找它自己不会这样做,但你可以告诉它执行另一个程序。

我会从文件(1),这会打印出文件的一些描述。如果它对您的 XML 文件有用,我会编写一个脚本来打印文件名,如果寻找说这是正确的类型。然后使用以下命令为所有符合条件的文件调用该脚本:

find . -type f -exec my-xml-detector {} \;

答案2

如果要查找当前目录中没有扩展名或扩展名超过 3 个字符长或空扩展名的文件,您可以执行以下操作:

find . ! -name . -prune ! -name '?*.[!.]' \
                        ! -name '?*.[!.][!.]' \
                        ! -name '?*.[!.][!.][!.]'

(假设没有文件名包含不形成有效字符的字节序列)。

相关内容