如何实现用bash批量修改文件名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现用bash批量修改文件名相关的知识,希望对你有一定的参考价值。

如果有一批文件,里面的每一个文件都有一个同名的文本文件,如何将文本文件中的内容复制出来作为与其对应文件的名字,并且把文本文件删除掉

me@ubuntu:x$ ls
file1 file1.txt file2 file2.txt
me@ubuntu:x$ cat file1.txt
cz
me@ubuntu:x$ cat file2.txt
jwrhbxn
me@ubuntu:x$ for oldfile in $(ls | grep -v -e '.*.txt');do\
> txtfile=$oldfile.txt;\
> mv $oldfile $(cat $txtfile);\
> rm $txtfile;\
> done
me@ubuntu:x$ ls
cz jwrhbxn
参考技术A 你的问题再加一句"比如....", 就更清楚了

centos如何批量修改文件名命令?

参考技术A

今天又遇到个新问题,如果想批量的砍掉后缀名呢?

具体命令如下:

find -name "*.txt" |for i in *;do mv $i `echo $i |sed \'s/\\.txt//g\'`;done

find -name "*.txt" |awk -F\'.\' \'print $1 |xargs mv .txt

如果只是修改后缀名,用rename 即可,命令如下:

rename .txt .bk *

以上是关于如何实现用bash批量修改文件名的主要内容,如果未能解决你的问题,请参考以下文章

用shell脚本实现批量创建用户并修改密码

用shell脚本实现批量创建用户并修改密码

如何在shell脚本中修改添加替换指定文件中的内容

玩点不一样的,如何使用MATLAB实现批量修改文件后缀名,文件名,批量复制文件

node实现文件属性批量修改(时间属性)

如何批量修改.html文件里面的内容?能用批处理吗?或者有啥方法呢?请求高手帮帮忙!