多个文件重命名为unix

时间:2012-06-29 13:45:06

标签: macos unix file-rename

我是unix的新手(使用Mac OS X终端),我试图通过在文件名中间添加一些文本来重命名某些文件。对于文件夹./temp中的所有文件,我想用dr_ic0004替换以dr_ic0004_DMN开头的文件名。

例如 dr_0004_tstat1.txtdr_0004_tstat2.txt dr_0004_DMN_tstat1.txtdr_0004_DMN_tstat2.txt 分别

2 个答案:

答案 0 :(得分:2)

for filename in dr_0004*
do
    mv "$filename" dr_0004_DMN"${filename#dr_0004}"
done

答案 1 :(得分:-1)

假设您有dr_ic0004foodr_ic0004bardr_ic0004baz。要看到它们,你会做:

ls dr_ic0004*

要隔离变量部分(foobarbaz),您可以通过sed运行该列表:

ls dr_ic0004*|sed 's/^dr_ic0004//'

要重命名单个文件,请使用mv

mv dr_ic0004foo dr_ic0004_DMNfoo

要遍历列表,您可以使用for循环:

for x in foo bar baz; do echo $x ; done

将它们放在一起然后得到:

for x in `ls dr_ic0004*|sed 's/^dr_ic0004//'`; do mv dr_ic0004$x dr_ic0004_DMN$x; done