如何使用shell脚本来操作文件名

时间:2013-04-23 12:24:50

标签: bash ubuntu

我的源文件位于/user/public/test.txt

文件test.txt应修改为user_test.txt并复制到/home/home/user_test.txt

3 个答案:

答案 0 :(得分:2)

mv /user/public/test.txt /home/home/user_test.txt

答案 1 :(得分:0)

cp可以使用新名称复制文件:

cp /user/public/test.txt /home/home/user_test.txt

如果您还想将原始文件重命名为新名称,可以使用mv

mv /user/public/test.txt /user/public/user_test.txt 

答案 2 :(得分:0)

对该问题的另一种解释:

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

代码具有自由,因为它指出文件名中没有空格或换行符或其他特殊字符。如果你必须处理这些问题,你必须更加小心(自由)使用双引号。