如何在不重命名原始文件的情况下重命名复制的文件

时间:2015-10-13 15:56:20

标签: linux bash

我将主目录中的文件复制到新目录。当我尝试重命名此新目录中的文件时,主目录中的文件将更改,新目录中的文件将保留其名称。我的代码如下所示。

srcDir=$HOME
newDir=$1
mkdir $1

cp $srcDir/* $newDir

for file in newDir/*; do
    filename=$(basename $file)
    if [[ SOMETHING ]]; then
        mv $filename newname
    fi
done

如果有人能告诉我哪里出错了,我们将非常感激。

1 个答案:

答案 0 :(得分:2)

您正在重命名当前工作目录中的文件,与

一样
mv ./$filename newname

您需要预先添加路径:

mv newDir/"$filename" newDir/newname

或者,更改工作目录:

cd newDir
for file in * ; do
    mv "$file" newname
done