我将图像文件放在目录中:
"/root/Desktop/my test dir/image.jpg"
我需要按如下方式重命名图像文件(使用一些shell脚本):
image.jpg => "my test dir.jpg"
注意:此目录中只有一个单一图像文件
有人可以给我一些提示吗?
感谢。
答案 0 :(得分:2)
dir='/root/Desktop/my test dir/'
dirBase=$(basename -- "$dir") # should be equal to 'my test dir'
file=$(echo "$dir/"*) # things will break if your directory has more than one file
fileExtension=${file##*.} # 'jpg' in your case
mv -- "$file" "$dir/$dirBase.$fileExtension"
答案 1 :(得分:1)
使用:
mv "/root/Desktop/my test dir/image.jpg" "/root/Desktop/my test dir/my test dir.jpg"
答案 2 :(得分:0)
echo "${pathname##*/}"
echo "${pathname%.*}"
答案 3 :(得分:0)
你可以这样做:
x="/root/Desktop/my test dir/image.jpg"
IFS="/" arr=( "$x" )
mv "$x" "${arr[1]}/${arr[2]}/${arr[3]}/${arr[3]}.${arr[4]##*.}"