我的源文件位于 /user/public/test.txt
该文件test.txt
应修改user_test.txt
并复制到/home/home/user_test.txt
mv /user/public/test.txt /home/home/user_test.txt
cp
可以用新名称复制文件:
cp /user/public/test.txt /home/home/user_test.txt
如果您还想将原始文件重命名为新名称,可以使用mv
:
mv /user/public/test.txt /user/public/user_test.txt
问题的另一种解释:
file=/usr/public/test.txt
base=user_$(basename $file)
dirn=$(dirname $file)
mv $file $dirn/$base
cp $dirn/$base /home/home/$base
由于您规定bash
,上面的可移植代码可以使用:
file=/usr/public/test.txt
base=user_${file##*/}
dirn=${file%/*}
mv $file $dirn/$base
cp $dirn/$base /home/home/$base
该代码具有自由性,因为它指出文件名中没有空格、换行符或其他特殊字符。如果你必须处理这些,你必须更加小心(自由)使用双引号。