加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何在Perl中的for循环中重命名文件

发布时间:2020-12-16 06:10:25 所属栏目:大数据 来源:网络整理
导读:我正在运行Perl脚本并尝试重命名文件,如下所示. 我有一个包含其他非相关文件的文件夹中的* .ru.jp文件列表.我想用一个我作为计数器变量获得的数字重命名. 在Bash中,我会这样做…… for i in $(ls *.ru.jp); do x=${i%%.*}; mv $i "$x"t"$counter".ru.jp ;don
我正在运行Perl脚本并尝试重命名文件,如下所示.

我有一个包含其他非相关文件的文件夹中的* .ru.jp文件列表.我想用一个我作为计数器变量获得的数字重命名.

在Bash中,我会这样做……

for i in $(ls *.ru.jp); do x=${i%%.*}; mv $i  "$x"t"$counter".ru.jp ;done

如果计数器为1,则e.g myfile.ru.jp将重命名为myfilet1.ru.jp.“t”只是表示t1,t2等的命名.并且最后会有一个外部循环,最终将标记mafilet2.ru.jp等等,因为计数器变量增加.

我想知道如何在Perl脚本中编写和表示类似for循环?

谢谢.

-joey

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读