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

在文件中查找模式并将其重命名

司马耘豪
2023-03-14
问题内容

我使用此命令查找具有给定模式的文件,然后将其重命名为其他文件

find . -name '*-GHBAG-*' -exec bash -c 'echo mv $0 ${0/GHBAG/stream-agg}' {} \;

运行此命令时,我看到一些类似的输出

mv ./report-GHBAG-1B ./report-stream-agg-1B
mv ./reoprt-GHBAG-0.5B ./report-stream-agg-0.5B

但是最后,当我运行时ls,我看到了旧文件名。


问题答案:

您正在回显’mv’命令,而不是实际执行它。改成:

find . -name '*-GHBAG-*' -exec bash -c 'mv $0 ${0/GHBAG/stream-agg}' {} \;


 类似资料:
  • 问题内容: 我有类似的文件在系统中。我想编写一个bash shell脚本,该脚本应该通过从文件中删除“ _dbg”来重命名这些文件。 Google建议我使用命令。所以我在 我的实际文件包含以下文件。 执行命令后, 它不是递归执行的操作,如何使此命令重命名所有子目录中的文件。Like 和我将有很多子目录,这些子目录的名称不可预测。而且我还将拥有一些其他文件。 问题答案: 您可以用来递归查找所有匹配文

  • 问题内容: 在这里寻求正则表达式专家。我有一个带有数字的字符串,例如 我需要从这样的字符串中找到所有数字并将其加总。 我的Java代码如下: 所以matcher.matches()返回true,因此我可以看到打印了“匹配”。但是,当我尝试获取期望的数字分组时,什么也没打印出来。 有人可以指点我正则表达式和分组部分有什么问题吗? 问题答案: 只需按组提取数字,而不必担心空格。 结果: 总计:54

  • 问题内容: 好吧,这里的问题很简单。我正在研究一个简单的备份代码。除非文件中有空格,否则它工作正常。这就是我查找文件并将其添加到tar存档中的方式: 问题是文件名中有空格,因为tar认为它是文件夹。基本上,有没有一种方法可以在find的结果周围添加引号?还是其他解决方法? 问题答案: 用这个: 它会: 处理带有空格,换行符,前导破折号和其他趣味的文件 处理无限数量的文件 当您有大量文件时,不会像使

  • 问题内容: 如果我在jape规则中写的词出现在同一句子中,则需要注释句子的一部分。例如,句子是“孩子不能抗拒对其常规的任何改变”。我在“ trouble.lst”文件中添加了诸如“ resist”之类的词,在“ alteration.lst”文件中进行了更改。现在,在这句话中,我需要将“抵制任何更改”部分注释为“ A3b”。我尝试使用以下代码,但未考虑同一句子中的单词。我的日本规则也是从不同的句子

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

  • 问题内容: 考虑我有一个文件喜欢(只是摘录) 当我发现与时,我喜欢检索。 我目前的做法是 看起来不太好 过度使用模式和匹配器似乎是错误的。 有没有更简单/更好的方法?特别是如果我有多个键,我喜欢这样搜索吗? 问题答案: 我希望有更多类似的东西,以避免两次匹配模式: 也就是说,对于每个字符串的匹配器,获取第一个匹配的字符串,对于该匹配器,将输出第一组。