如何编辑相同第一个单词的文件名

时间:2014-11-11 07:45:14

标签: bash

我有这样的日志文件:

tmp_1_2_3_4_5.LOG
...

我需要改变这样的名字:

1_2_3_4_5.LOG

我试试:

rename 's/^tmp+_//' *

它正在使用Debian,但没有使用Red Hat。 我怎么能用mv命令做到这一点?

2 个答案:

答案 0 :(得分:2)

你可以用一个相当简单的for循环来做到这一点:

for file in tmp_*; do
    [[ -e $file ]] || continue
    mv "$file" "./${file#tmp_}"
done

另见BashFAQ #30

答案 1 :(得分:1)

您可以尝试使用mv:

for i in *; do s=$(sed -r 's/^(tmp_)(.*.LOG)/\2/' <<< $i); if [[ "$i" != "$s" ]]; then mv "$i" "$s"; fi; done;