我在目录中放置了一个图像文件:
"/root/Desktop/my test dir/image.jpg"
我需要按如下方式重命名图像文件(使用一些 shell 脚本):
image.jpg => "my test dir.jpg"
注意:此目录中只有一个图像文件
有人可以给我一些提示吗?
谢谢。
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"
利用:
mv "/root/Desktop/my test dir/image.jpg" "/root/Desktop/my test dir/my test dir.jpg"
你可以做:
x="/root/Desktop/my test dir/image.jpg"
IFS="/" arr=( "$x" )
mv "$x" "${arr[1]}/${arr[2]}/${arr[3]}/${arr[3]}.${arr[4]##*.}"
echo "${pathname##*/}"
echo "${pathname%.*}"