新聞中心
正則表達(dá)式使用單個(gè)字符串來描述、匹配一系列匹配某個(gè)句法規(guī)則的字符串,正則表達(dá)式是繁瑣的,但它是強(qiáng)大的,學(xué)會(huì)之后的應(yīng)用會(huì)讓你除了提高效率外,會(huì)給你帶來絕對的成就感,下面為大家講解一下Linux中使用正則表達(dá)式的命令。

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、圖木舒克ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的圖木舒克網(wǎng)站制作公司
grep命令
首先出現(xiàn)的是grep實(shí)用工具——它是Global Regular Expression Print的首字母縮寫,是一種強(qiáng)大的命令行工具,在搜索文件中的特定字符串或模式時(shí)非常方便。
例如,要在忽略大小寫的情況下搜索文件sshd_conf.txt中包含ssh字符串的行,請運(yùn)行以下命令:
[root@localhost ~]# grep -i ssh sshd_conf.txt
想要了解更多關(guān)于grep命令的使用方式,可以查看grep的手冊:man grep
sed命令
sed 是 Stream Editor 的縮寫,用于操作文本文件中的文本。sed以非交互方式搜索、篩選和替換給定文件中的字符串。
默認(rèn)情況下,sed命令將輸出打印到標(biāo)準(zhǔn)輸出,這意味著執(zhí)行的結(jié)果打印在終端上,而不是保存在文件中。
例如,將文件/etc/selinux/config中的SELINUX=enforcing改成SELINUX=disabled,請調(diào)用以下命令:
[root@localhost ~]# sed -i '/^SELINUX=/s/enforcing/disabled/g' /etc/selinux/config
修改之后,保存退出,重啟操作系統(tǒng),這樣可以關(guān)閉selinux。
想要了解更多關(guān)于sed命令的使用方式,可以查看sed的手冊:man sed
ack命令
Ack是用Perl編寫的快速且可移植的命令行工具。Ack被認(rèn)為是grep的替代品,并以視覺吸引人的方式輸出結(jié)果。Ack命令在文件或目錄中搜索包含與搜索條件匹配的行。然后突出顯示各行中的匹配字符串。
安裝方式(Centos7系統(tǒng)):
[root@localhost ~]# yum -y install ack
例如,要在sshd_conf.txt中查找包含ssh的行,不區(qū)分大小寫,請運(yùn)行:
[root@localhost ~]# ack -i ssh sshd_conf.txt
搜索出來的關(guān)鍵字會(huì)以高亮的方式顯示出來。
搜索工具非常智能,如果用戶未提供文件或目錄,它會(huì)在當(dāng)前目錄和子目錄中搜索。在下面的示例中,沒有提供文件或目錄,但是ack自動(dòng)檢測到了目錄和子目錄中匹配字符串的文件里面的行:
[root@localhost ~]# ack -i ssh
想要了解更多關(guān)于ack命令的使用方式,可以查看ack的手冊:man ack
awk命令
awk是一種成熟的腳本語言,也是文本處理和數(shù)據(jù)處理工具。讓我們以最簡單的例子為例。假設(shè)正在打印系統(tǒng)日期,只想打印第一個(gè)值,即星期幾。在這種情況下,將輸出通過管道傳輸?shù)絘wk中,如下所示:
[root@localhost ~]# date
Mon Nov 23 10:47:42 CST 2020
[root@localhost ~]# date |awk '{print $1}'
Mon
要顯示后面的值,請使用逗號(hào)分隔它們,如下所示:
[root@localhost ~]# date |awk '{print $6,$2,$3}'
2020 Nov 23
想要了解更多關(guān)于awk命令的使用方式,可以查看awk的手冊:man awk
Silver Searcher工具
Silver Searcher是一個(gè)類似于ack的跨平臺(tái)和開源代碼搜索工具,但注重速度。它可以在最短的時(shí)間內(nèi)輕松搜索文件中的特定字符串:
安裝方式(Centos7):
[root@localhost ~]# yum -y install epel-release && yum makecache
[root@localhost ~]# yum -y install the_silver_searcher
例如,在/etc/passwd文件中搜索字符串”nologin”,使用以下命令:
[root@localhost ~]# ag nologin /etc/passwd
想要了解更多關(guān)于Silver Searcher工具的使用方式,可以查看ag的手冊:man ag
ripgrep工具
ripgrep命令行工具。Ripgrep是用于正則表達(dá)式模式的跨平臺(tái)實(shí)用程序。它比前面提到的所有搜索工具速度都快得多,并且可以遞歸搜索目錄以找到匹配的模式。在速度和性能方面,沒有其他工具比Ripgrep出色。
默認(rèn)情況下,ripgrep將跳過二進(jìn)制文件/隱藏的文件和目錄。另外,在默認(rèn)情況下,它不會(huì)搜索被.gitignore / .ignore / .rgignore文件忽略的文件。
安裝ripgrep(Centos7):
[root@localhost ~]# yum -y install yum-utils
[root@localhost ~]# sudo yum-config-manager --add-repo=https://copr.fedorainfracloud.org/coprs/carlwgeorge/ripgrep/repo/epel-7/carlwgeorge-ripgrep-epel-7.repo
[root@localhost ~]# yum -y install ripgrep
例如,要在當(dāng)前目錄內(nèi)的文件中搜索字符串“Linux”,請運(yùn)行以下命令:
[root@localhost ~]# rg Linux
想要了解更多關(guān)于ripgrep命令的使用方式,可以查看rg的手冊:man rg
總結(jié)
這些是Linux中用于搜索、過濾和操作文本的最廣泛使用的命令行工具。
本文名稱:Linux中使用正則表達(dá)式的命令
URL網(wǎng)址:http://www.dlmjj.cn/article/cceodje.html


咨詢
建站咨詢
