Linux下怎么通过shell批量修改文件名后缀?

Linux下怎么通过shell批量修改文件名后缀?,第1张

比如修改一下目录下的所有文件的后缀

ls -l|awk '{print $9}'|xargs -I{} mv {} {}.bak

[root@ test]# touch a b c

[root@ test]# ls -l

total 0

-rw-r--r-- 1 root root 0 Apr 27 21:50 a

-rw-r--r-- 1 root root 0 Apr 27 21:50 b

-rw-r--r-- 1 root root 0 Apr 27 21:50 c

[root@ test]# ls -l|awk '{print $9}'|xargs -I{} mv {} {}.bak

[root@ test]# ls -l

total 0

-rw-r--r-- 1 root root 0 Apr 27 21:50 a.bak

-rw-r--r-- 1 root root 0 Apr 27 21:50 b.bak

-rw-r--r-- 1 root root 0 Apr 27 21:50 c.bak

告诉lz一个思路,不用脚步只要用一个命令就能实现,可以用find这个命令,先将.a的文件找出来,然后用mv这个命令改,可惜find这个命令连用(不是管道)我还不是很会

如果一定要用脚步,那可以用if循环来实现,首先进入这个文件夹的最里面的那个,然后一点一点判断,在改名。不过这个方法比较的麻烦,等于编程了

乱七八糟的描述,你按照文件访问方法不同,最后一个文件是变化的,不确定的。你按照文件修改时间顺序排序,最后一个是a.restart, 你按照文件名排序,最后一个是b.restart, 你按照文件修改时间倒序排序,最后一个是x.restart. 所以题目说的乱七八糟。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8558175.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存