6個使用正規表示式搜尋文字中內容的工具
本指南介紹了一些 行工具,這些工具可用於搜尋文字檔案中的匹配字串或模式。這些工具通常與正規表示式一起使用。 |
首先出現的是grep實用工具——它是
Global Regular Expression Print
的首字母縮寫,是一種強大的命令列工具,在搜尋檔案中的特定字串或模式時非常方便。
例如,要在忽略大小寫的情況下搜尋檔案
sshd_conf.txt
中包含
ssh
字串的行,請執行以下命令:
[root@localhost ~]# grep -i ssh sshd_conf.txt
想要了解更多關於grep命令的使用方式,可以檢視grep的手冊:
man grep
sed 是 Stream Editor 的縮寫,用於操作文字檔案中的文字。sed以非互動方式搜尋、篩選和替換給定檔案中的字串。
預設情況下,sed命令將輸出列印到標準輸出,這意味著執行的結果列印在終端上,而不是儲存在檔案中。
例如,將檔案
/etc/se
/config
中的
SELINUX=enforcing
改成
SELINUX=disabled
,請呼叫以下命令:
[root@localhost ~]# sed -i '/^SELINUX=/s/enforcing/disabled/g' /etc/selinux/config
修改之後,儲存退出,重啟作業系統,這樣可以關閉selinux。
想要了解更多關於sed命令的使用方式,可以檢視sed的手冊:
man sed
Ack是用Perl編寫的快速且可移植的命令列工具。Ack被認為是grep的替代品,並以視覺吸引人的方式輸出結果。Ack命令在檔案或目錄中搜尋包含與搜尋條件匹配的行。然後突出顯示各行中的匹配字串。
安裝方式( 7系統):
[root@localhost ~]# yum -y install ack
例如,要在sshd_conf.txt中查詢包含ssh的行,不區分大小寫,請執行:
[root@localhost ~]# ack -i ssh sshd_conf.txt
搜尋出來的關鍵字會以高亮的方式顯示出來。
搜尋工具非常智慧,如果使用者未提供檔案或目錄,它會在當前目錄和子目錄中搜尋。在下面的示例中,沒有提供檔案或目錄,但是ack自動檢測到了目錄和子目錄中匹配字串的檔案裡面的行:
[root@localhost ~]# ack -i ssh
想要了解更多關於ack命令的使用方式,可以檢視ack的手冊:
man ack
awk是一種成熟的 語言,也是文字處理和資料處理工具。讓我們以最簡單的例子為例。假設正在列印系統日期,只想列印第一個值,即星期幾。在這種情況下,將輸出透過管道傳輸到awk中,如下所示:
[root@localhost ~]# date Mon 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
想要了解更多關於awk命令的使用方式,可以檢視awk的手冊:
man awk
Silver Searcher是一個類似於ack的跨平臺和開原始碼搜尋工具,但注重速度。它可以在最短的時間內輕鬆搜尋檔案中的特定字串:
安裝方式(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
想要了解更多關於Silver Searcher工具的使用方式,可以檢視ag的手冊:
man ag
ripgrep命令列工具。Ripgrep是用於正規表示式模式的跨平臺實用程式。它比前面提到的所有搜尋工具速度都快得多,並且可以遞迴搜尋目錄以找到匹配的模式。在速度和效能方面,沒有其他工具比Ripgrep出色。
預設情況下,ripgrep將跳過二進位制檔案/隱藏的檔案和目錄。另外,在預設情況下,它不會搜尋被.gitignore / .ignore / .rgignore檔案忽略的檔案。
安裝ripgrep(Centos7):
[root@localhost ~]# yum -y install yum-utils [root@localhost ~]# sudo yum-config-manager --add-repo= [root@localhost ~]# yum -y install ripgrep
例如,要在當前目錄內的檔案中搜尋字串“Linux”,請執行以下命令:
[root@localhost ~]# rg Linux
想要了解更多關於ripgrep命令的使用方式,可以檢視rg的手冊:
man rg
這些是Linux中用於搜尋、過濾和操作文字的最廣泛使用的命令列工具。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2840998/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用MySQL之用正規表示式進行搜尋MySql
- 用正規表示式進行搜尋
- 學習Linux,101:使用正規表示式搜尋文字檔案Linux
- 利用正規表示式刪除提取字串中文字內容字串
- 文字處理工具之grup && 正規表示式
- [MYSQL-9]用正規表示式進行搜尋MySql
- ECMAScript正規表示式6個最新特性
- python使用正規表示式文字替換Python
- 正規表示式:後面不要包含指定的字串內容字串
- 正規表示式在Java中的使用Java
- EditPlus中的正規表示式實戰(6)
- 正規表示式刪除字串中非數字內容字串
- 常用正規表示式工具
- 查詢不存在指定內容的字串正規表示式字串
- 正規表示式中使用變數擷取某字串前後內容變數字串
- MongoDB正規表示式在索引中的使用MongoDB索引
- java中的正規表示式Java
- JS中的正規表示式JS
- iOS中的正規表示式iOS
- Oracle中的正規表示式Oracle
- Sublime Text提取正規表示式匹配的文字
- python工具_正規表示式Python
- 正規表示式驗證工具
- Linux中使用正規表示式進行文字匹配Linux
- Java 文字檢索神器 "正規表示式"Java
- python中re模組的使用(正規表示式)Python
- Golang正則筆記 :使用正規表示式處理題庫文字Golang筆記
- Shell第二篇:正規表示式和文字處理工具
- js中的正規表示式(1)JS
- Java 中 Emoji 的正規表示式Java
- Oracle sql中的正規表示式OracleSQL
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串
- 匹配純英文字元正規表示式字元
- Python正規表示式的七個使用範例Python
- iOS-正規表示式使用iOS
- js正規表示式獲取字串中多個大括號{}中的內容,包括大括號並放入陣列中JS字串陣列
- 淺談js中的正規表示式JS
- python中的re(正規表示式)Python