find排除文件 linux_linux之find忽略指定目录或者文件的查找方法

例1,根据文件属性查找:

find . -type f -name "*config*" ! -path "./tmp/*" ! -path "./scripts/*" ! -path "./node_modules/*"

Explanation:

find . - Start find from current working directory (recursively by default)

-type f - Specify to find that you only want files in the results

-name "*_peaks.bed" - Look for files with the name ending in _peaks.bed

! -path "./tmp/*" - Exclude all results whose path starts with ./tmp/

! -path "./scripts/*" - Also exclude all results whose path starts with ./scripts/

2. 指定忽略的路径

使用find命令在linux系统中查找文件时,有时需要忽略某些目录,可以使用 -prune 参数来进行过滤。不过必须注意:要忽略的路径参数要紧跟着搜索的路径之后,否则该参数无法起作用。

例如:指定搜索/home/zth目录下的所有文件,但是会忽略/home/zth/astetc的路径:

find /home/zth -path "/home/zth/astetc" -prune -o -type f -print

按照文件名来搜索则为:

find /home/zth -path "/home/zth/astetc" -prune -o -type f -name "cdr_*.conf" -print

要忽略两个以上的路径如何处理?

find /home/zth \( -path "/home/zth/astetc" -o -path "/home/zth/etc" \) -prune -o -type f -print

find /home/zth \( -path "/home/zth/astetc" -o -path "/home/zth/etc" \) -prune -o -type f -name "cdr_*.conf" -print

注意:\( 和 \) 前后都有空格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值