10-批量改名
批量改文件名称
问题: 已知目录内文件为如下,希望通过脚本和命令将下面所有的文件的名字中的_file全部去掉,如何实现?
ls
stu_10299_1_file.jpg
stu_10299_2_file.jpg
stu_10299_3_file.jpg
stu_10299_4_file.jpg
stu_10299_5_file.jpg
# 方法1:
#!/bin/sh
for i in `ls *_file.jpg`
do
mv $i `echo $f | sed -i 's#_file##g'`
done
# 过程1:
mv stu_10299_1_file.jpg stu_10299_1.jpg 要做这个过程
f=stu_10299_1_file.jpg 结果是stu_10299_1_file.jpg
echo $f | sed -i 's#_file##g' 结果是stu_10299_1.jpg
mv $f `echo $f | sed -i 's#_file##g'`
# 方法2:
ls *_file.jpg | awk -F "_file" '{print "mv " $0,$1$2}'|bash
ls *_file.jpg | sed -r 's#(^.*)_file.*$#mv & \1.jpg#g'| bash
& 代表 s# # 里面匹配的内容
# 过程2
用AWK拼接 后给bash执行 (不用for循环)
mv stu_10299_1_file.jpg stu_10299_1.jpg
mv stu_10299_2_file.jpg stu_10299_2.jpg
mv stu_10299_3_file.jpg stu_10299_3.jpg
mv stu_10299_4_file.jpg stu_10299_4.jpg
mv stu_10299_5_file.jpg stu_10299_5.jpg
# 方法3 rename
rename "_file" "" *.jpg
#过程3
把_file 改成空 对 *.jpg
本文来自博客园,站在巨人的肩膀上,坚持开源精神,遵循开源协议:Apache Licene 2.0协议。
分类:
02 linux 配置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具