如何重命名文件,如下所示
AS1100801000002.RAW7AGS
AS1100801001008.RAW7AH4
AS1100801002001.RAW7AH9
AS1100801003002.RAW7AHE
AS1100801004009.RAW7AHT
AS1100801005002.RAW7AHY
AS1100801010002.RAW7AJ3
改成新名字
AS1.txt
AS2.txt
AS3.txt
AS4.txt
AS5.txt
AS6.txt
AS7.txt
答案1
Ubuntu 附带的工具rename
非常适合处理这类事情。您可以嵌入一些 Perl 表达式,如下所示:
rename -n 's/.+/our $i; sprintf("AS%d.txt", 1+$i++)/e' *
这只会向您展示它会做什么。移除它,-n
使其成为实弹演习。
这基本上是通过粗略定义一个变量并在我们遇到的每个文件上增加它来实现的。如果您要拥有超过 10 个文件,我建议在 中使用一些零填充sprintf
。以下方法适用于999
:
rename -n 's/.+/our $i; sprintf("AS%03d.txt", 1+$i++)/e' *
...但这很容易扩展。
答案2
我不知道有哪个命令或实用程序可以做到这一点,但使用一个简单的循环就很容易做到:
N=1
for X in AS*RAW*; do
mv $X AS$N.txt
N=$(($N+1))
done
答案3
改进@Oli 的回答,rename
工具版本 1.600经过亚里士多德·帕加尔齐斯实际上有一个内置计数器$N
。
所以你需要的是,
rename 's/AS.*/AS$N/' *
安装,
brew install rename
或者下载脚本- 将其保存到系统路径上的目录(通常
/usr/local/bin/brew
或/usr/bin
)
答案4
虽然 OP 需要命令行选项,但它也可以作为 Nautilus 中的 GUI 选项使用,而且相当容易。
选择所有需要的文件并按 F2。有一个名为“自动编号”的选项。您可以将其附加到所需的文本中。