我正在运行一个 Perl 脚本并尝试完成如下重命名文件。
我在包含其他非相关文件的文件夹中有一个 *.ru.jp 文件列表。我想用我作为计数器变量的数字重命名。
在 Bash 中,我会做...
for i in $(ls *.ru.jp); do x=${i%%.*}; mv $i "$x"t"$counter".ru.jp ;done
例如,如果计数器为 1,myfile.ru.jp 将被重命名为 myfilet1.ru.jp。“t”只是一个命名来表示 t1、t2...等。最重要的是有一个外循环,随着计数器变量的增加,它最终会标记 mafilet2.ru.jp 等等。
我想知道如何编写和表示与 Perl 脚本中类似的 for 循环?
谢谢。
-乔伊
最佳答案
perl -e 'for $old (@ARGV) {
++$counter;
if (($new=$old) =~ s/(\.ru\.jp)\z/t$counter$1/) {
rename $old => $new or warn "$0: rename: $!\n";
}
}' *.ru.jp
关于perl - 如何在 Perl 的 for 循环中重命名文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1952789/