如何重命名linux

时间:2016-07-28 20:48:24

标签: linux

我想重命名当前目录中的所有文件。所以现在他们的形式是:“xxx-9666_01.so”,我想将其重命名为“xxx_9444_01.so”。我如何在Linux中完成它?

2 个答案:

答案 0 :(得分:0)

使用循环:

for f in *-9666_01.so; do
  echo mv "$f" "${f%-9666_01.so}_9444_01.so"
done

当您确定它正在执行您希望的操作时,请移除echo

答案 1 :(得分:0)

使用参数扩展子字符串替换(与子字符串删除相对)的上一个答案的变体可以实现相同的目标,并且可能更具可读性:

for f in *-9666_01.so; do
    echo mv "$f" "${f/-9666/-9444}"
done

(如果对操作感到满意,请删除echo

(其中子字符串替换a中的b替换f,使用${f/a/b}表格(结束/暗示)将a第一个实例替换为b,或${f//a/b}替换 a的所有实例与b