溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中如何使用正則表達式的命令

發(fā)布時間:2022-02-18 10:12:05 來源:億速云 閱讀:237 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細講解有關(guān)Linux中如何使用正則表達式的命令,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規(guī)則的字符串,正則表達式是繁瑣的,但它是強大的,學(xué)會之后的應(yīng)用會讓你除了提高效率外,會給你帶來絕對的成就感。

Linux中如何使用正則表達式的命令

grep命令

首先出現(xiàn)的是grep實用工具——它是Global Regular Expression Print的首字母縮寫,是一種強大的命令行工具,在搜索文件中的特定字符串或模式時非常方便。

例如,要在忽略大小寫的情況下搜索文件sshd_conf.txt中包含ssh字符串的行,請運行以下命令:

[root@localhost ~]# grep -i ssh sshd_conf.txt

Linux中如何使用正則表達式的命令 想要了解更多關(guān)于grep命令的使用方式,可以查看grep的手冊:man grep

sed命令

sed 是 Stream Editor 的縮寫,用于操作文本文件中的文本。sed以非交互方式搜索、篩選和替換給定文件中的字符串。

默認情況下,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

Linux中如何使用正則表達式的命令 修改之后,保存退出,重啟操作系統(tǒng),這樣可以關(guān)閉selinux。

想要了解更多關(guān)于sed命令的使用方式,可以查看sed的手冊:man sed

ack命令

Ack是用Perl編寫的快速且可移植的命令行工具。Ack被認為是grep的替代品,并以視覺吸引人的方式輸出結(jié)果。Ack命令在文件或目錄中搜索包含與搜索條件匹配的行。然后突出顯示各行中的匹配字符串。

安裝方式(Centos7系統(tǒng)):

[root@localhost ~]# yum -y install ack

例如,要在sshd_conf.txt中查找包含ssh的行,不區(qū)分大小寫,請運行:

[root@localhost ~]# ack -i ssh sshd_conf.txt

Linux中如何使用正則表達式的命令 搜索出來的關(guān)鍵字會以高亮的方式顯示出來。

搜索工具非常智能,如果用戶未提供文件或目錄,它會在當(dāng)前目錄和子目錄中搜索。在下面的示例中,沒有提供文件或目錄,但是ack自動檢測到了目錄和子目錄中匹配字符串的文件里面的行:

[root@localhost ~]# ack -i ssh

Linux中如何使用正則表達式的命令 

awk命令

awk是一種成熟的腳本語言,也是文本處理和數(shù)據(jù)處理工具。讓我們以最簡單的例子為例。假設(shè)正在打印系統(tǒng)日期,只想打印第一個值,即星期幾。在這種情況下,將輸出通過管道傳輸?shù)絘wk中,如下所示:

[root@localhost ~]# dateMon Nov 23 10:47:42 CST 2020
[root@localhost ~]# date |awk '{print $1}'Mon

要顯示后面的值,請使用逗號分隔它們,如下所示:

[root@localhost ~]# date |awk '{print $6,$2,$3}'2020 Nov 23

Linux中如何使用正則表達式的命令 

Silver Searcher工具

Silver Searcher是一個類似于ack的跨平臺和開源代碼搜索工具,但注重速度。它可以在最短的時間內(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

Linux中如何使用正則表達式的命令 

ripgrep工具

ripgrep命令行工具。Ripgrep是用于正則表達式模式的跨平臺實用程序。它比前面提到的所有搜索工具速度都快得多,并且可以遞歸搜索目錄以找到匹配的模式。在速度和性能方面,沒有其他工具比Ripgrep出色。

默認情況下,ripgrep將跳過二進制文件/隱藏的文件和目錄。另外,在默認情況下,它不會搜索被.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”,請運行以下命令:

[root@localhost ~]# rg Linux

Linux中如何使用正則表達式的命令 

關(guān)于“Linux中如何使用正則表達式的命令”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI