rgewr2 发表于 2015-7-27 09:23:57

批量删除文件扩展名

目录中有如下两个文件
1.txt.file touch 2.txt.file
想要实现删除.file,即扩展名,可通过以下脚本快速实现

1
for file in $(ls *.file);do ext=${file%.*};mv $file $ext;done




其中${file%.*}为获取文件名,mv$file $ext为重命名操作

附加:echo ${file##*.}      可获取文件的扩展名
      echo ${file%.*}       可获取文件名
root@oldboy extension_name$file=1.txt.file
root@oldboy extension_name$echo ${file%.*}    最短匹配,获取文件名
1.txt
root@oldboy extension_name$echo ${file%%.*}   
1
root@oldboy extension_name$echo ${file##*.}   启用最长匹配,获取扩展名
file
root@oldboy extension_name$echo ${file#*.}
txt.file
页: [1]
查看完整版本: 批量删除文件扩展名