欢迎光临
我们一直在努力

Shell脚本批量重命名文件后缀的3种实现(shell脚本批量重命名)

今天突然间想起昨天有个问题还没动手实践下,就是利用shell批量修改文件的后缀,现在动手实践一下。

需求:家内容介绍下有一些sql文件,想批量重命名成txt的

1、find + xargs +sed
复制代码 代码如下:
find /root -name ‘*.sql’ |xargs -i echo {}   {} |sed ‘s/sql/txt/2′  |xargs mv

find /root/ -name ‘*.sql’ |sed -e ‘s/\(.*\).sql$/mv & \1.txt/e’     //B哥提供

如果参考B哥的,还可以写一个awk版本的:
复制代码 代码如下:
find /root/ -name ‘*.sql’|awk  ‘{a=$0;sub(/sql$/,”txt”,$0); print “mv”, a,$0}’|bash

<p
>find /root/ -maxdepth 1 -name ‘*.sql’|awk  ‘{a=$0;sub(/txt$/,”sql”,$0); system(“mv” ” “a” “$0)}’

2、for 循环
复制代码 代码如下:
for sql in `find /root -name “*.sql”`;do  mv $sql `echo $sql|sed  ‘s/sql/txt/’` ;done

3、rename
复制代码 代码如下:
rename  .sql  .txt *.sql  //好像不能递归内容介绍

本文从互联网转载,来源地址:www.downzz.com/linux-shell/171333.html,原作者保留一切权利,若侵权或引用不当,请联系九八云(cmy.cn)删除。【九八云,优质云服务器提供商】

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。