云服务器
产品概述
购买指南
快速入门
操作指南
技术教程
Linux如何安装配置Redis
Linux如何搭建LNMP环境
Linux如何查看端口监听情况
Linux实例如何配置中文支持
云服务器常用端口作用
如何在CentOS中安装Docker
如何在Linux中使用正则表达式
如何安装宝塔Linux面板
如何安装配置Nginx
如何搭建Discuz!论坛
如何搭建WordPress站点
Linux如何搭建FTP服务
Traceroute网络诊断工具详解
iperf 网络性能测试工具原理详解
iperf 命令使用详解
Linux中pstack命令使用指南
Linux系统中重启命令有哪些?
DDoS攻击应该如何防御?
如何解决Linux云服务器提示存储空间不足
灵活运用top命令监控Linux系统
云服务器
如何在Linux中使用正则表达式

如何在Linux中使用正则表达式

非凡云为大家分享如何在Linux中使用正则表达式。

一、grep命令

grep命令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,grep命令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为-,则grep命令会从标准输入设备读取数据。

1.例如在文件file.txt中查找字符串"feifanyun",并打印匹配的行

grep feifanyun file.txt


2.在文件夹test中递归查找所有文件中匹配正则表达式"feifancloud"的行,并打印匹配行所在的文件名和行号

grep -r -n pattern feifancloud/


3.在标准输入中查找字符串"ffy",并只打印匹配的行数

echo “welcome to ffy” | grep -c ffy


二、sed命令

sed命令是利用脚本语言来处理文本文件,sed可依照脚本的指令来处理、编辑文本文件。sed主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序。

1.只显示ffy.txt文件中的第三行

sed -n ‘3p’ ffy.txt


2.只显示ffy.txt文件中的最后一行

sed -n ‘$p’ ffy.txt


3.显示ffy.txt文件中的第3-第5行

sed -n ‘3,5p’ ffy.txt


4.查找ffy.txt文件中包含we的行

sed -n ‘/we/p’ ffy.txt


5.查找ffy.txt文件中以s开头或者以r结尾的行

sed -n '/q$|^s/p' ffy.txt -r


6.删除ffy.txt文件中第2-4行

sed ‘2,4d’ ffy.txt


7.在ffy.txt文件中第3行下面插入test

sed ‘3a test’ ffy.txt


8.将ffy.txt文件中的:替换成空格

sed 's#:# #g' ffy.txt


三、ack命令

ack命令是一个类似于grep的文本搜索工具,专门为搜索代码而设计。它支持正则表达式和高亮显示匹配的文本。

1.安装方式(centos7)

yum -y install ack


2.例如在ffy.txt中查找包含weq的行(不区分大小写)

ack -i weq ffy.txt 搜索结果会以高亮的形式显示出来。

若需了解更多ack命令的使用方式,可使用man ack查看命令手册。


四、Silver Searcher

ag命令(the silver searcher)是一款用c编写的快速且对开发人员友好的文本搜索工具,针对源代码搜索进行了优化。它与ack类似,但速度更快,可用于搜索代码库。

1.安装方式(centos7)

yum install epel-release

yum install the_silver_searcher


2.例如在/root/ffy.txt中搜索字符串”ffy”

ag ffy /root/ffy.txt

若需了解更多ag命令的使用方式,可使用man ag查看命令手册。


五、ripgrep工具

ripgrep是一款基于Rust语言开发的文本搜索工具,可提供极速是搜索性能,尤其是在处理大型文本文件时,其速度可超越其他同类工具(例如grep、ag)。

1.安装方式(centos7)

sudo curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

source $HOME/.cargo/env

cargo install ripgrep


2.例如在当前目录内的文件中搜索字符串”ffy”

rg ffy

若需了解更多rg命令的使用方式,可使用man rg查看命令手册。