如何使用For循环重命名目录中的所有文件?

时间:2010-07-06 00:39:31

标签: bash shell

这是我的代码:

#!/bin/sh

for fname in *
do
      if [! -d "$fname"]
      then
          WHAT CAN I DO
      fi
done

所有新命名的文件都必须具有此格式的O.fname - 正如您所看到的那样,前面是O. 你能帮忙吗?我知道我必须在某个地方使用mv。

2 个答案:

答案 0 :(得分:3)

使用mv重命名文件,所以只需执行

mv "$fname" "O.$fname"

在循环中。

答案 1 :(得分:3)

只需在循环中使用mv即可。此外,在if语句中,[!

之间有一个空格
for fname in *
do
    if [ ! -d "$fname" ]
    then
        mv "$fname" "O.$fname"
    fi
done