私のソースファイルは次の場所にあります /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
ファイル名にスペース、改行、またはその他の特殊文字が含まれていないことに注意してください。それらに対処する必要がある場合は、二重引用符の使用にもっと注意する必要があります (リベラル)。