批量修改文件后缀
for file in $(find . -name "*.del" -type f);do mv "$file" "${file%.del}";done
file=/dir1/dir2/dir3/my.file.txt
我们可以用 ${ } 分别替换获得不同的值:
${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt
${file#*.}:拿掉第一个 . 及其左边的字符串:file.txt
${file##*.}:拿掉最后一个 . 及其左边的字符串:txt
${file%/*}:拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值)
${file%.*}:拿掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:拿掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
//集体增加后缀
find . ! -type d |xargs -i mv {} {}.c;
find . ! -type d -exec mv -f {} {}.suf \;
要想把my.file.txt 变成 my.file.cpp
mv "$file" "${file%.*}.cpp"
改变当前目录及子目录下所有.cc的文件后缀为.cpp
for file in $(find . -name "*.cc" -type f);do mv "$file" "${file%.*}.cpp";done
批量删除文件
find . -name "*.o" -exec rm {} \;
shell批量操作文件后缀
精选 转载上一篇:linux的find查找命令用法
下一篇:rsync 配置详解 .
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux shell实现批量修改文件后缀名
Linux shell实现批量修改文件后缀名
linux 运维 服务器 shell elasticsearch -
shell脚本替换后缀名
shell脚本替换后缀名
shell脚本替换后缀名