在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
使用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 注意:/( 和/) 前后都有空格。 查找某个文件包含内容,以下语句可以解决目录带空格的问题: 复制代码 代码如下:find ./ -name "mysql*" -print0 |xargs -0 grep "SELECT lead_id FROM vicidial_list where vendor_lead_code" 如果目录不带空格,可以这样: 复制代码 代码如下:find ./ -name "mysql*" |xargs grep "SELECT lead_id FROM vicidial_list where vendor_lead_code" 通过以上的例子,大家应该可以掌握find命令查找文件时,忽略相关目录的方法了。 |
请发表评论