0
点赞
收藏
分享

微信扫一扫

shell 批量修改文件名中的部分

1、批量创建文件

touch test_{01..10}_zhangsan.txt

2、for循环配合sed批量修改文件名

一定要for循环,使用echo打印文件名,如果直接sed加文件名会将文件内容改变,而不改变文件名
for f in $(ls test_*)
do
echo $f | mv $f `sed 's#zhangsan#wangwu#g'`
done

3、awk 字符串拼接的方法

echo test_05_zhangsan.sh | awk -F 'zhangsan' '{ print "mv " $0 " " $1 "wangwu"$2}'
for f in $(ls test_*);do echo $f | awk -F 'zhangsan' '{ print "mv " $0 " " $1 "wangwu"$2}';done | bash

4、rename命令

rename "zhangsan" "wangwu" test_*

举报

相关推荐

0 条评论