您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)Linux中如何使用正則表達式的命令,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規(guī)則的字符串,正則表達式是繁瑣的,但它是強大的,學(xué)會之后的應(yīng)用會讓你除了提高效率外,會給你帶來絕對的成就感。
首先出現(xiàn)的是grep實用工具——它是Global Regular Expression Print
的首字母縮寫,是一種強大的命令行工具,在搜索文件中的特定字符串或模式時非常方便。
例如,要在忽略大小寫的情況下搜索文件sshd_conf.txt
中包含ssh
字符串的行,請運行以下命令:
[root@localhost ~]# grep -i ssh sshd_conf.txt
想要了解更多關(guān)于grep命令的使用方式,可以查看grep的手冊:man grep
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
修改之后,保存退出,重啟操作系統(tǒng),這樣可以關(guān)閉selinux。
想要了解更多關(guān)于sed命令的使用方式,可以查看sed的手冊:man sed
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
搜索出來的關(guān)鍵字會以高亮的方式顯示出來。
搜索工具非常智能,如果用戶未提供文件或目錄,它會在當(dāng)前目錄和子目錄中搜索。在下面的示例中,沒有提供文件或目錄,但是ack自動檢測到了目錄和子目錄中匹配字符串的文件里面的行:
[root@localhost ~]# ack -i ssh
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
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
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
關(guān)于“Linux中如何使用正則表達式的命令”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責(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)容。