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

重命名多个目录匹配模式

柴英光
2023-03-14
问题内容

我想重命名与名称相匹配的basedir下的所有目录。例如:

在中basedir/,我有:

- foo/bar/blah
- my/bar/foo
- some/bar/foo1
- other/foo/bar

我想重命名所有匹配的目录bar,但是我想保留前缀部分。

使用find,我可以轻松地列出所有目录,如下所示:

find . -name repositoryunit -type d

但是,如何使用-exec mv {} ...(或与其他应用程序结合)以保留前缀?

提前谢谢了!


问题答案:
find . -depth -name bar -type d -execdir mv {} baz \;

-execdir在执行命令之前将目录更改为父目录,因此mv此处对于每个父目录都是本地的。



 类似资料:
  • 问题内容: 我有这样的事情: 我想将这些文件重命名为以下形式: 在同一目录中。 我想我可以使用,但是我不知道如何在文件夹和文件重命名的同时使用它。 问题答案: 可以使用bash for loop和: 请注意,如果目录名称包含空格,则上述解决方案将不起作用。相关链接。 另一种基于注释的解决方案(也适用于名称中也包含空格的目录):

  • 问题内容: 我正在尝试使用Python重命名目录中的某些文件。 假设我有一个名为的文件,并且想要删除,所以我得到的文件名将是 我正在尝试使用,但无法正常工作。我也考虑过使用字符串操作,但也没有成功。 问题答案: 使用重命名或移动文件或目录。

  • 是否可以让Selenium匹配多个类名? 例如: 谢谢

  • 问题内容: 我正在尝试使用以下Python脚本重命名目录中的多个文件: 运行此脚本时,出现以下错误: 这是为什么?我该如何解决这个问题? 谢谢。 问题答案: 重命名时您没有给出完整的路径,请按照以下步骤操作: 编辑 :感谢tavo,第一个解决方案将文件移动到当前目录,修复该问题。

  • 在SQL Server中,我有一个数据库< code>abc。在这个数据库中,我有数百个表。这些表格中的每一个都被称为< code>xyz.table 我想把所有的表格都改成< code>abc.table。 我们有办法将数据库< code>abc中的所有名称从< code>xyz.table更改为< code>abc.table吗? 我可以通过将每个表的模式更改为abc来手动更改名称

  • 问题内容: 我有一堆目录 ,其中有些目录的名称中包含字母。我只想获取所有具有数字名称的目录,然后将它们移至另一个目录。 我尝试这样: 匹配的部分有效,但最终将所有内容移至… 问题答案: 我不确定我是否正确理解,但至少可以提供一些帮助。 使用find和xargs的组合来操作文件列表。 使用并引用替换符号可使您的脚本更加健壮。它可以处理存在不可打印字符的大多数情况。这基本上表示它使用char分隔符而不