linux重命名所有find查找到的文件/文件夹

一、说明

在某些时候我们想要将所有find命令查找到的文件或文件夹全都重命名,比如都加上.bak后辍

二、操作命令

find /dir -name "*pattern*" -exec mv {} {}.bak ;

find--文件查找命令

/dir--要进行文件查找的目录

-name--要查找的文件的文件名

*--通配符

pattern--要匹配的名称

-exec--对每个查找到的匹配项要执行的操作

mv--移动文件名令

{}--代表查找到的文件

.bak--对找到的文件加上bak后辍

--分隔符,乍man find的解释也不是很理解

;--shell的语句分隔符

如果想直接删除文件可使用:find . -name "*wls-wsat*" -exec rm -rf {}

三、示例

近段时间爆出CVE-2017-10271,对于weblogic 10.3.4和10.3.5没有补丁,只能通过删除wls-wsat组件进行处理,以之为例。

 

可以看到所有匹配的文件和文件夹已成功加上.bak后辍(中间那两句No such file不懂什么原因)

参考:

http://bbs.chinaunix.net/thread-3561556-1-1.html

原文地址:https://www.cnblogs.com/lsdb/p/8342379.html