【问题标题】:Renaming multiple files removing parentheses along with everyghing in them重命名多个文件删除括号以及其中的所有内容
【发布时间】:2015-01-27 14:53:59
【问题描述】:

我正在寻找一种方法来重命名具有不同扩展名的多个文件,删除括号之间的所有内容。

例子

foo(foo bar).bar > foo.bar
foo/bar/foo(foo bar).bar > foo/foo.bar
foo/bar/foo(foo bar).bar > foo/bar/foo.bar

我从另一个问题想出了这个:

rename -v 's/ \(.*\)\./\./' ./*.*

但我不认为重命名是我需要的。我读了这个人,它似乎没有递归标志。有没有更简单的方法来做到这一点。

【问题讨论】:

  • 这个问题可能更适合unix.stackexchange。无论如何,我猜 -r flag 你的意思是递归到子目录。另请注意,模式与您的示例不匹配,因为它在括号前有一个空格。

标签: file debian rename


【解决方案1】:

你可以结合你提供的命令和find递归查找文件:

find . -type f -exec rename -v 's/\(.*\)\./\./' {} \;

【讨论】:

  • 谢谢你,这似乎有效。我相信我的原始字符串在扩展之前留下了一个空白空间,但我想出了如何删除它。再次感谢。
猜你喜欢
  • 2020-09-09
  • 1970-01-01
  • 2012-12-05
  • 2021-04-20
  • 1970-01-01
  • 2018-05-28
  • 2021-10-22
  • 2023-02-16
  • 2022-11-03
相关资源
最近更新 更多