linux中文本查找命令,Linux常用的文本查找命令 find

一、常用的文本查找命令

grep、egrep命令

grep:文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,先是能够被模式匹配到的行。后面跟正则表达式,让grep工具相当强大。-E之后还支持扩展的正则表达式。

# grep  [options]  'PATTERN'  file ...

--color=auto:高亮显示被匹配的关键字

-v:反向

-o:仅显示被模式匹配的字串,而非整行

- i:不区分大小写

-E:支持扩展的正则表达式

-A+n:仅显示被匹配到的行和其上n行

-B+n:仅显示被匹配到的行和其下n行

-C+n:仅显示被匹配到的行和其上、下n行

# egrep  [options]  'PATTERN'  file ...

选项和grep相同,egrep=grep -E  ,这里不再继续说明。

locate命令

locate:其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

find命令

find:实时查找,精确匹配,速度略慢

#find  [options]  [查找路径]  [查找条件]  [处理动作]

默认:查找路径:当前目录

查找条件:查找指定路径下的所有文件

处理动作:显示在标准输出上

二、find命令详解

(一)、查找条件

-name  "文件名称":支持文件名通配

-iname "文件名称":支持文件名通配,不区分大小写

-user  "用户名":根据属主查找

-group  "组名":根据属组查找

-uid    "UID":根据UID查找

-gid    "GID":根据GID查找

-nouser:查找没有属主的文件

-nogroup:查找没有属组的文件

◆当一个用户被删除,那么该用户的文件就会变成没有属主或属组的文件

(二)、组合条件

-a:和与相同,同时满足

-o:与或相同,满足其一皆可

-not、!:与非相同,取反

-type:根据文件类型查找

f:普通文件

d:目录

b:块设备

c:字符设备

l:符号链接文件

p:命令管道工具

s:套接字文件

根据文件大小查找

-size  [+|-]单位

+2M:大于2M的

-2M:小于1M的

2M:1.1~2M的

常用单位:k、M、G

例:大于2M的

# find -size +2M

根据时间戳查找

以天为单位(tim

-atime   [+|-]n:被访问的n天

-mtime  [+|-]n:被修改的n天

-ctime   [+|-]n:被创建的n天

+2:大于3天的

- 2:小于2天的

2:2天到3天的

以分钟为单位(min)

-amin   [+|-]n:被访问的n分钟

-mmin  [+|-]n:被修改的n分钟

-cmin    [+|-]n:被创建的n分钟

+2:大于3分钟

-2:小于2分钟

2:2分钟到3分钟

根据权限查找

-perm  [+|-]权限

MODE:精确匹配

+MODE:任何一类用户的任何一位权限匹配,常用语查找某类用户的特点权限是否存在

-MODE:每类用户的任何一位都匹配,每类用户的指定要检查的权限都匹配

(三)、处理动作

-print:打印在标准输出上

-ls:以长格式输出各文件信息

-exec COMMAND\:对查找的文件执行制定的命令

-ok COMMAND\:交互式的-exec

find把查找到的文件一次性的传递给-exec所指定的命令

如果查到到的是多个文件要加{},{}是占位符,表示接受前面find查找的文件,并对文件依次执行动作

格式: find -exec {} \;

例:# find -iname *.sh -exec chmod a-x {} \;

xargs命令

find|xargs COMMAND 一次性接受一批文件,通过管道直接修改

例:# find -iname text.sh | xargs chmod a+x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/392185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布与并行计算—日志挖掘(Java)

日志挖掘——处理数据、计费统计 1、读取附件中日志的内容,找出自己学号停车场中对应的进出车次数(in/out配对的记录数,1条in、1条out,视为一个车次,本日志中in/out为一一对应,不存在缺失某条进或出记录&a…

《人人都该买保险》读书笔记

内容目录: 1.你必须知道的保险知识 2.家庭理财的必需品 3.保障型保险产品 4.储蓄型保险产品 5.投资型保险产品 6.明明白白买保险 现在我所在的公司Manulife是一家金融保险公司,主打业务就是保险,因此我需要熟悉一下保险的基础知识&#xff0c…

Linux下查看txt文档

当我们在使用Window操作系统的时候,可能使用最多的文本格式就是txt了,可是当我们将Window平台下的txt文本文档复制到Linux平台下查看时,发现原来的中文所有变成了乱码。没错, 引起这个结果的原因就是两个平台下,编辑器…

如何击败腾讯_击败股市

如何击败腾讯个人项目 (Personal Proyects) Note from Towards Data Science’s editors: While we allow independent authors to publish articles in accordance with our rules and guidelines, we do not endorse each author’s contribution. You should not rely on an…

滑块 组件_组件制作:如何使用链接的输入创建滑块

滑块 组件by Robin Sandborg罗宾桑德伯格(Robin Sandborg) 组件制作:如何使用链接的输入创建滑块 (Component crafting: how to create a slider with a linked input) Here at Stacc, we’re huge fans of React and the render-props pattern. When it came time…

配置静态IPV6 NAT-PT

一.概述: IPV6 NAT-PT( Network Address Translation - Port Translation)应用与ipv4和ipv6网络互访的情况,根据参考链接配置时出现一些问题,所以记录下来。参考链接:http://www.cisco.com/en/US/tech/tk648/tk361/technologies_c…

linux 线程与进程 pid,linux下线程所属进程号问题

这一段看《unix环境高级编程》,一个关于线程的小例子。#include#include#includepthread_t ntid;void printids(const char *s){pid_t pid;pthread_t tid;pidgetpid();tidpthread_self();printf("%s pid %u tid %u (0x%x)n",s,(unsigned int)pid,(unsigne…

python3虚拟环境中解决 ModuleNotFoundError: No module named '_ssl'

前提是已经安装了openssl 问题 当我在python3虚拟环境中导入ssl模块时报错,报错如下: (py3) [rootlocalhost Python-3.6.3]# python3 Python 3.6.3 (default, Nov 19 2018, 14:18:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux Type "help…

python 使用c模块_您可能没有使用(但应该使用)的很棒的Python模块

python 使用c模块by Adam Goldschmidt亚当戈德施密特(Adam Goldschmidt) 您可能没有使用(但应该使用)的很棒的Python模块 (Awesome Python modules you probably aren’t using (but should be)) Python is a beautiful language, and it contains many built-in modules that…

分布与并行计算—生产者消费者模型实现(Java)

在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者&a…

通过Xshell登录远程服务器实时查看log日志

主要想总结以下几点: 1.如何使用生成密钥的方式来登录Xshell连接远端服务器 2.在远程服务器上如何上传和下载文件(下载log文件到本地) 3.如何实时查看log,提取错误信息 一. 使用生成密钥的方式来登录Xshell连接远端服务器 ssh登录…

如何将Jupyter Notebook连接到远程Spark集群并每天运行Spark作业?

As a data scientist, you are developing notebooks that process large data that does not fit in your laptop using Spark. What would you do? This is not a trivial problem.作为数据科学家,您正在开发使用Spark处理笔记本电脑无法容纳的大数据的笔记本电脑…

是银弹吗?业务基线方法论

Fred.Brooks在1987年就提出:没有银弹。没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍。 我无意挑战这个理论,只想讨论一个方案,一个可能大幅提高业务系统开发效率的方案。 方案描述 我管这个方案叫做“由基线扩展…

linux core无权限,linux – 为什么编辑core_pattern受限制?

当我试图为故意崩溃的程序生成核心文件时,最初的核心文件生成似乎被abrt-ccpp阻碍了.所以我尝试用vim手动编辑/ proc / sys / kernel / core_pattern:> sudo vim /proc/sys/kernel/core_pattern当我试图保存文件时,vim报告了这个错误:"/proc/sys…

nsa构架_我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战

nsa构架by Denis Nuțiu丹尼斯努尤(Denis Nuțiu) 我如何使用NSA的Ghidra解决了一个简单的CrackMe挑战 (How I solved a simple CrackMe challenge with the NSA’s Ghidra) Hello!你好! I’ve been playing recently a bit with Ghidra, which is a reverse engi…

分布与并行计算—生产者消费者模型队列(Java)

在生产者-消费者模型中&#xff0c;在原有代码基础上&#xff0c;把队列独立为1个类实现&#xff0c;通过公布接口&#xff0c;由生产者和消费者调用。 public class Consumer implements Runnable {int n;CountDownLatch countDownLatch;public Consumer(BlockingQueue<In…

python 日志内容提取

问题&#xff1a;如下&#xff0c;一个很大的日志文件&#xff0c;提取 start: 到 end: 标志中间的内容 日志文件a.log xxxxx yyyyy start: start: hahahaha end: start: hahahahha end: ccccccc kkkkkkk cdcdcdcd start: hahahaha end: code import reisfindFalse with open(&…

同一服务器部署多个tomcat时的端口号修改详情

2019独角兽企业重金招聘Python工程师标准>>> 同一服务器部署多个tomcat时&#xff0c;存在端口号冲突的问题&#xff0c;所以需要修改tomcat配置文件server.xml&#xff0c;以tomcat7为例。 首先了解下tomcat的几个主要端口&#xff1a;<Connector port"808…

linux优盘驱动目录,Linux U盘加载阵列卡驱动步骤(.dd或img).doc

Linux U盘加载阵列卡驱动步骤(.dd或img)如果没有Linux的机器,可以使用安装光盘的Linux环境&#xff1a;将?U?盘完全慢速格式化&#xff0c;将驱动拷贝到U盘&#xff0c;将U盘插在服务器上&#xff0c;用Linux安装光盘第一张启动到图形安装界面&#xff0c;按Ctrl&#xff0b;…

第一章-从双向链表学习设计

链表学习链表是一种动态的数据结构使用节点作为链表的基本单位存储在节点包括数据元素和节点指针一个完整的数据链表应包括转载于:https://www.cnblogs.com/cjxltd/p/7125747.html