查找命令,我想使用我的变量

查找命令,我想使用我的变量

我有一个脚本,它根据用户输入创建一个新目录,以及它将复制哪个目录内容。现在这是我遇到问题的地方,我有一个 find 命令,它将替换前面具有特定名称的文件并将其替换为新名称。它有效,但我想使用我创建的变量而不是更改我设置的字符串,我不断收到错误消息说它不能这样做。

#Creates Directory
echo "Name of New Directory"
read userInput
if [[ -n "$newdir" ]]
then
  mkdir $newdir
fi
echo $newdir Directory Created
echo 
echo "Directory you wish to Copy?"
read copydir
if [[ -n "$copydir" ]]
then
#Copies contents of Specified Directory
 cp -R $copydir/!(*.UNC) $newdir;

#Searches through directory  
find $newdir/ -name "$copydir*" -exec bash -c 'f="$1"; mv "$f" "${f/sppark/work}"' - {} \;


fi

因此,我想在 Find 命令中使用变量 newdir 和 copydir,而不是 sppark 和 work。

答案1

我想通了,我用 for 循环和 mv 来代替做我想做的事情。

    #Searches through directory  
for file in $newdir/$copydir*; do
#Changes Part of File Name
mv -- "$file" "$(echo ${file}|sed 's/'$copydir'/'$newdir'/')"
done

相关内容