当前位置: 首页 > 面试题库 >

在Linux上的名称中查找带有非法Windows字符的文件

狄宗清
2023-03-14
问题内容

我在Linux机器上有一个项目,其中包含带有在Windows中被认为是非法/保留的字符的文件(http://msdn.microsoft.com/zh-
cn/library/aa365247%28VS.85%29.aspx
)。该项目在多个文件夹中有10,000多个文件,我将确定这些文件的路径。

我可以find . -name "*\?*"为每个非法/保留字符,但是有一种更简单的方法来查找包含以下内容的所有文件< > : " / \ | ? *

确定后,我想从每个文件中删除所有这些字符。


问题答案:

这种单线查找应该为您工作:

find . -name "*[<>:\\|?*]*" -exec bash -c 'x="{}"; y="$(sed "s/[<>:\\|?*]\+/-/g" <<< "$x")" && mv "$x" "$y" ' \;


 类似资料:
  • 问题内容: 我一直在寻找一个命令,该命令将从当前目录返回文件名中包含字符串的文件。我已经看到和命令可以找到以某些内容开头或结尾的文件。 如何返回文件名中包含字符串的文件列表? 例如,if 是当前目录中的文件。 如何返回此文件和其他包含字符串的文件?使用诸如 问题答案: 用途: 它将在当前目录中找到所有包含“字符串”的文件(如果要递归,则删除),并将其打印在屏幕上。 如果要避免文件包含“:”,则可以

  • 问题内容: 我在Ubuntu上,我想在当前目录和子目录中找到名称包含字符串“ John”的所有文件。我知道可以匹配文件中的内容,但是我不知道如何在文件名中使用它。任何帮助,将不胜感激。 问题答案: 使用find命令,

  • 问题内容: 我需要在Windows中浏览带有长文件名的文件夹。 我尝试使用,但是它使用长路径名崩溃,这很糟糕。 我尝试使用,但是它忽略的路径名长于〜256,这更糟。 我尝试了此处描述的魔术字变通方法,但它仅适用于映射驱动器,不适用于UNC路径名。 这是一个具有短路径名的示例,该示例表明UNC路径名不适用于魔术词技巧。 关于如何处理长路径名或Unicode UNC路径名的任何想法吗? 编辑: 按照以

  • 具有以下内容的EAR: META-INF/MANIFEST. MF META-INF/application.xml META-INF/glassfish-resources.xml META-INF/wildfly-ds.xml actionbazaar-chapter3-client.jar actionbazaar-chapter3-ejb.jar actionbazaar-chapter3

  • 本文向大家介绍在 Linux 中查找文件的方法,包括了在 Linux 中查找文件的方法的使用技巧和注意事项,需要的朋友参考一下 使用简单的命令在 Linux 下基于类型、内容等快速查找文件。 如果你是 Windows 或 OSX 的非资深用户,那么可能使用 GUI 来查找文件。你也可能发现界面受限,令人沮丧,或者两者兼而有之,并学会了组织文件并记住它们的确切顺序。你也可以在 Linux 中做到这一