Linux文件批量操作技巧

目录

1、查找并批量重命名

2、查找并批量复制+重命名

3、查找并批量修改文件的Owner和组织

4、查找并批量修改文件的读写权限

5、查找并批量替换文本内容


使用 find 命令实现查找指定目录下的所有文件,结合 -exec 参数,配合 Linux / Unix系统的‌标准核心命令(如:mv、cp、chmod、sed 等),实现批量文件操作,如:文件重命名、备份、修改读写权限、内容替换等。

1、查找并批量重命名

bash 复制代码
# 查找并批量重命名
find /home/ops/logs/2026*/*-service.log -type f -exec bash -c 'mv "$1" "${1}.20260709.bak"' _ {} \;

2、查找并批量复制+重命名

bash 复制代码
# 查找并批量复制+重命名
find /home/ops/logs/2026*/*-service.log -type f -exec bash -c 'cp "$1" "${1}.20260709.bak"' _ {} \;

3、查找并批量修改文件的Owner和组织

bash 复制代码
# 查找并批量修改文件的Owner和组织
find /home/ops/deploy/*-service/ -type f -name "*" -exec chown ops:ops {} \;

4、查找并批量修改文件的读写权限

bash 复制代码
# 查找并批量修改文件的读写权限
find /home/ops/deploy/*-service/ -type f -name "*" -exec chmod 644 {} \;

5、查找并批量替换文本内容

bash 复制代码
# 查找并批量替换文本内容(使用正则表达式匹配)
find /home/ops/deploy/*-service/config/ -type f -name "redis.properties" -exec sed -i 's/旧字符串/新字符串/g' {} +
# 或
find /home/ops/deploy/*-service/config/redis.properties -type f -exec sed -i 's/旧字符串/新字符串/g' {} +
相关推荐
叶修_A1 个月前
【CP-11】复杂驱动设计 - AUTOSAR CP驱动架构与实现
架构·嵌入式·autosar·cp·驱动设计
BestOrNothing_20153 个月前
C++零基础到工程实战(4.3.4):vector数组搜索、删除、插入与排序
c++·vector·sort·find·insert·动态数组·erase
这是个栗子4 个月前
前端开发中的常用工具函数(四)
开发语言·javascript·ecmascript·find
Thomas.Sir4 个月前
Nacos:云原生时代的服务与配置基石
云原生·nacos·ap·cp
索木木5 个月前
大模型训练CP切分(与TP、SP结合)
人工智能·深度学习·机器学习·大模型·训练·cp·切分
only_Klein5 个月前
Shell 三剑客
shell·sed·grep·awk
予枫的编程笔记5 个月前
【Linux进阶篇】从基础到实战:grep高亮、sed流编辑、awk分析,全场景覆盖
linux·sed·grep·awk·shell编程·文本处理三剑客·管道命令
狂龙骄子6 个月前
MySQL表字段批量修改SQL实战技巧
数据库·sql·mysql·alter table·批量修改·sql实战技巧
爱琴孩6 个月前
Linux 服务器日志自动清理方案 - Cron 定时删除
find·cron·日志清理