find 查找与删除

        项目里存在着以前很多的用cmake 生成的Makefile,由于本人不喜欢cmake,所以在部分目录下自己写了 Makefile,之前存在的很多的 Makefile 需要删除,但不知道在哪些目录下,所以有了以下的脚本:

#!/bin/bash
if [ $# -ne 1 ]; then
	echo  "Usage: $0 fileName"
	exit
fi
tmpName=""
filelist=$(find ./ -name $1 | xargs grep -wn "default_target"  | awk -F: '{print $1}')
for fileName in ${filelist}
do
	if [ -n "${tmpName}" -a "${tmpName}" = "${fileName}" ]; then
		continue
	fi
	set +x
	echo "rm -rf ${fileName}"
	rm -f ${fileName}
	tmpName=${fileName}
done

用 grep 找到指定的Makefile(这个Makefile 里有 default_target 字段),然后保存下这些文件名,因为 grep 出来的可能同一个文件里有多个 default_target ,所以添加了一个 if 判断,避免重复删除,脚本执行的还挺有效:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值