我有一个充满子目录的目录,其名称如下
- 01 - 文件夹标题
- 02 - 第二个冠军
- 03 - 等等
- 04-等。 。
- 30 - 最终文件夹
我想将所有这些文件夹名称截断为数字,以便它们看起来像这样:
- 01
- 02
- 03
有没有办法编写一个脚本或一个简单的命令来完成这个任务?
答案1
使用基于 Perl 的重命名实用程序(这似乎是 Ubuntu 提供的),您可以像这样执行重命名操作(替换
*
为您实际想要的目录列表):
rename 's/^(\S+).*/$1/' *
(我建议rename -n
首先使用看看在实际重命名任何内容之前会做什么。)
\S+
替换字符串要求在原始文件名的开头 ( )处匹配一系列非空格字符 ( ) ^
,后跟任何内容 ( .*
),并将其替换为第一个匹配的组 ( $1
),这是初始的无空格字符部分。