如何将唯一字符串作为前缀添加到目录中的所有文件名

时间:2014-11-20 17:32:39

标签: perl shell find exec rename

任何perl,shell脚本用附加唯一字符串的文件名附加。示例 -

ip1/xxx.v 
ip1/xxy.v 
ip1/ip1.v 
ip1/ip1_zxy.v

要重命名为

ip1/ip1_xxx.v 
ip1/ip1_xxy.v 
ip1/ip1.v 
ip1/ip1_zxy.v 

2 个答案:

答案 0 :(得分:0)

对于shell:

#!/bin/bash
for dir in */; do
  for file in $dir/*; do
      mv "$file" "$dir/${dir//\/}_$file"
  done
done

答案 1 :(得分:0)

使用rename

rename -n 's@([^/]+)/([^/]+)$@$1/$1_${2}@' $PWD/ip1/*

删除-n开关以停止测试。

https://metacpan.org/pod/distribution/File-Rename/rename.PL