linux中find命令、正则表达式、三剑客之grep基本使用

技术linux中find命令、正则表达式、三剑客之grep基本使用 linux中find命令、正则表达式、三剑客之grep基本使用一、find命令的基本使用find 命令主要用于查找目录和文件,可以指定

linux下三剑客的find命令、正则表达式和grep的基本用法

一、find命令的基本使用

find 命令主要用于查找目录和文件,可以指定多种参数进行匹配

用法:find +查找路径 +命令参数 [输出形式]

查找路径:告诉find在哪查找

命令参数:指定要查找的文件属性,属性包括多种,类型、名称、大小、修改时间等等

1、常用的参数

参数:

-名称:按名称查找文件。

*:通配符

-iname :按名称搜索文件(忽略大小写)

-大小:根据文件大小查询文件。

:大于

-:小于

无符号:等于

-mtime :根据修改时间进行查询。

(可省略):N天前

-:n天内

-阿提米

-ctime

-用户:根据用户的所有者进行查询

-group :根据用户所属的组进行查询。

-类型:按文件类型查询

d:文件夹

L :链接文件

S :套接字文件

管道文件

C :字符文件

b:磁盘文件

F :普通文件

-perm :根据文件的权限查询

-inum :根据索引节点号进行查询。

-a : and(可以省略,默认为and)

-o :或

-maxdepth :目录查询深度(必须放置第一个参数位)

-exec :将find处理的结果提供给其他命令继续处理。

知识储备:

Dd :生成文件

如果:你在哪里读的?

你写什么文件?

bs :每次写多少?

数数:写了多少次?

案例:

找到。-maxdepth 1 -name '1.txt' #直接指定文件名搜索,-maxdepth 1表示最大搜索级别为一级目录。

找到。-maxdepth 1 -name '*。txt' #查找以结尾的文件。当前目录中的。

找到。-maxdepth 1 -name '*。txt' #查找以结尾的文件。当前目录中的。

找到。-maxdepth 1-name' [0-9] *。txt' #查找以数字开头的文件。

找到。-maxdepth 1 -mtime -5 #在当前目录中查找5天内修改过的文件。

找到。-maxdepth 1 -mtime 5 #查找当前目录中修改时间超过5天的文件。

找到。-maxdepth 1 -type d #在当前目录中查找类型为directory的文件,并在最高级查找第一级目录(它将查找隐藏目录)

案例知识: xargs 将管道前命令的执行结果当作参数逐个传递后管道后的命令

Ls [a-z]。txt | xargs -n1 -i{} mv {} {}。bak #在当前目录中以单个字母命名的txt文件中添加. bak后缀,-n1表示逐个处理一个对象,-I {}用{}、mv {}{}替换上一个对象。贝克。

二、正则表达式

正则表达式是一种字符模式,用于在查找过程中匹配制定的字符

元字符通常在Linux中分为两类:Shell元字符,由Linux Shell进行解析;

元字符通常在Linux中分为两类:Shell元字符,由Linux Shell进行解析;

正则表达式一般以文本行进行处理

正则表达式元字符

特殊的元字符

性格;角色;字母

解释

可安装文件系统

它由一个或三个组成(我们经常使用空格)

中国国家铁路(China Railway)

由 产生=设定变量$取变量值或取运算值重定向 stdout重定向 stdin|管道符号管道’|'可将命令的结果输出给另一个命令作为输入之用:重导向 file descriptor ,或将命令置于背景执行( )将其内的命令置于 nested subshell 执行,或用于运算或命令替换{ }将其内的命令置于 non-named function 中执行,或用在变量替换的界定范围;在前一个命令结束时,而忽略其返回值,继续执行下一个命令在前一个命令结束时,若返回值为 true,继续执行下一个命令||在前一个命令结束时,若返回值为 false,继续执行下一个命令!运算意义上的非(not)的意思#注释,常用在脚本中\转义字符,去除其后紧跟的元字符或通配符的特殊意义

扩展的正则表达式

案例:

	案例1:在/etc/passwd文件中,匹配以ftp开头的行
		grep '^ftp' /etc/passwd
	案例2:在/etc/passwd文件中,匹配以bash结尾的行
		grep 'bash$' /etc/passwd
	案例3:匹配本机中有哪些ip
		ip a | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}'
	案例4:要求将/etc/fstab中的去掉包含 # 开头的行,且要求 # 后至少有一个空格
		grep -vE '^#\ +' /etc/fstab
	案例5:找出文件中至少有一个空格的行
		grep -E '\ +' xxx
	案例6:将 nginx.conf 文件中以#开头的行和空行,全部删除 
		grep -vE '^\ *#|^$' /etc/nginx/nginx.conf

三、linux三剑客之grep

  • Linux 最重要的三个命令在业界被称为三剑客,它们是:awksedgrep

    • 我们在使用 Linux 系统中,grep 命令的使用尤为频繁,熟练掌握 grep 的常见用法,能够极大地提高你的工作效率。

    • grep 命令是一种强大的文本搜索工具,它能使用正则表达式,按照指定的模式去匹配,并把匹配的行打印出来。需要注意的是,grep 只支持匹配而不能替换匹配的内容

# linux三剑客之一,文本过滤器(根据文本内容过滤文件)。
语法格式:
	grep [参数] [匹配规则] [操作对象]

案例:文章中的示例 需要一个样例文件,文件内容如下

1. 把包含 syslog 的行过滤出来

2. 把以 ntp 开头的行过虑出来

3. 把匹配 ntp 的行以及下边的两行过滤出来

4. 把包含 syslog 及上边的一行过滤出来

5. 把包含 syslog 以及上、下一行内容过滤出来

6. 过滤某个关键词,并输出行号

7. 过滤不包含某关键词,并输出行号

8. 删除掉空行

9. 过滤包含 root 或 syslog 的行

10. 查看当前目录中包含某关键词的所有文件(这个很有用)

参数:
	-n : 过滤文本时,将过滤出来的内容在文件内的行号显示出来
	-A : 匹配成功之后,将匹配行的后n行显示出来
	-B : 匹配成功之后,将匹配行的前n行显示出来
	-C : 匹配成功之后,将匹配行的前后各n行显示出来
	-c :  只显示匹配成功的行数
	-o :  只显示匹配成功的内容
	-v :  反向过滤
	-q :  安静模式,不输出任何信息,脚本中常用
	-i : 忽略大小写
	-l :  匹配成功之后,将文本的名称打印出来
	-R|-r : 递归匹配 
	--color:以颜色突出显示匹配到的字符串
	-E : 使用拓展正则   等价于  egrep
知识储备:
	$ : 上一行命令执行的结果,0代表执行成功,其他数字代表执行失败。
	wc :  匹配行数
		-l : 打印匹配行数
		-c : 打印匹配的字节数
	
在/etc目录下,有多少个文件包含root。
	grep -rl 'root' /etc/ | wc -l
  • 与 grep 相似的工具还有 egrepfgrep,实用性并不强,其功能完全可以通过 grep 的扩展参数来实现,所以就不再扩展。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/154009.html

(0)

相关推荐

  • 面向对象设计原则之合成复用原则

    技术面向对象设计原则之合成复用原则 面向对象设计原则之合成复用原则转载来自:https://blog.csdn.net/lovelion/article/details/7563441
    合成复用原则又称

    礼包 2021年11月5日
  • MySQL优化经验是怎样的

    技术MySQL优化经验是怎样的MySQL优化经验是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MySQL优化经验同时在线访问量继续增大 对于1G

    攻略 2021年11月17日
  • 官场小说,好看的官场小说全本给推荐一下

    技术官场小说,好看的官场小说全本给推荐一下《人民的名义》作者:周梅森,一位国家部委的项目处长被人举报受贿千万,当最高人民检察院反贪总局侦查处处长侯亮平前来搜查时,看到的却是一位长相憨厚官场小说、衣着朴素的“老农民”在简陋

    生活 2021年10月20日
  • http和https的区别有哪些

    技术http和https的区别有哪些这篇文章将为大家详细讲解有关http和https的区别有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.了解http和https

    攻略 2021年11月12日
  • 鸟加几是什么字,请问:鸟字下面加个几字读什么

    技术鸟加几是什么字,请问:鸟字下面加个几字读什么是鸟加几是什么字:凫【fú】一、凫的释义:
    1、野鸭。
    2、凫水,游泳。
    二、凫的组词:
    凫茈、凫水、化凫、凫羽、蹑凫、凫骑、凫花、凫泛、凫翁、松凫、玉凫、凫乙、白凫、鱼凫

    生活 2021年10月28日
  • 能歌善舞近义词,手舞足蹈是近义词成语吗

    技术能歌善舞近义词,手舞足蹈是近义词成语吗手舞足蹈是近义词成语能歌善舞近义词。手舞足蹈   shǒu wǔ zú dǎo   【解释】蹈:顿足踏地。两手舞动,两只脚也跳了起来。形容高兴到了极点。也手乱舞、脚乱跳的狂态。 

    生活 2021年10月27日