grep和fgrep命令的區別


在任何語言或框架中,最重要的主要功能之一是搜尋資料。它不僅體現了語言的效能,也反映了資料的儲存方式。具體來說,如果以LINUX作業系統為例,就有兩個重要的命令:grep和fgrep。

這兩個命令都用於在檔案、目錄甚至多個資料夾中搜索任何字串或正則表示式。這兩個命令的執行方式是:處理器開始分析目標資料夾或目標位置,並搜尋給定的字串或資料。

基於這兩個命令的執行,以下是重要的區別。

序號關鍵點grepfgrep
1定義grep或Global Regular Expression Print是Linux中的一個命令,它可以搜尋任何檔案或檔案列表,甚至任何命令的輸出中的任何型別的字串。另一方面,Fgrep或Fixed grep或grep -F是Linux中的一個命令,它用於搜尋整個字串而不是正則表示式,因為它不識別正則表示式也不識別任何元字元。
2實現為了在搜尋機制中引入正則表示式的支援,grep命令的實現方式是:它考慮正則表示式和給定搜尋字串中的元字元,並與它們一起執行搜尋,將它們視為與字串的普通字元不同的字元。另一方面,Fgrep的實現不支援其搜尋中的正則表示式或任何元字元,並將它們視為字串的普通字元的一部分。
3資料搜尋對於資料搜尋,grep使用Boyer-Moore演算法來快速搜尋任何字串或正則表示式。另一方面,fgrep始終使用Aho-Corasick演算法,其最壞情況複雜度為O(m+n)。
4正則表示式如上所述,grep始終將給定字串中的內容解釋為正則表示式進行搜尋。另一方面,fgrep命令將PATTERN解釋為以換行符分隔的固定字串列表。
5語法grep命令的語法形式為:"grep "." myfile.txt"另一方面,fgrep命令的語法形式為:"fgrep "." myfile.txt"

更新於:2020年2月25日

660 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.