Linux 內容查詢匹配命令

2022-07-15 15:18:11 字數 2236 閱讀 3906

grep

適合單純的查詢或匹配文字

語法

grep [-abcefghhillnqrsvvwxy][-a《顯示列數》][-b《顯示列數》][-c《顯示列數》][-d《進行動作》][-e《範本樣式》][-f《範本檔案》][--help][範本樣式][檔案或目錄...]
引數說明

用法1

# 在當前目錄中,查詢字尾有 file 字樣的檔案中包含 test 字串的行

grep test *file

用法2

# 管道用法

# 查詢log.txt檔案中包含test的行,且顯示該行之後2行的內容

cat log.txt | grep test -a 2

用法3

# 查詢檔案名中包含 log 的檔案中不包含test 的行

grep -v test *log*

sed

適合編輯匹配到的文字

語法

sed [-hnv][-e][-f引數說明

動作說明

c :取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!

d :刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;

p :列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起執行~

s :取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!

用法# 在test檔案的第四行後新增other

sed -e '4a other' test

# 將 test.log 的內容列出並且列印行號,同時,將第 2~5 行刪除

nl test.og | sed '2,5d'

# 將第2-5行的內容取代成為 this is test

nl test.log | sed '2,5c this is test'

# 資料的搜尋並替換

sed 's/要被取代的字串/新的字串/g'

sed 的-i選項可以直接修改檔案內容,對處理大檔案很有用

# 利用 sed 將 test.txt 內每一行結尾若為 . 則換成 !

sed -i 's/\.$/\!/g' test.txt

awk

適合格式化文字,對文字進行較複雜格式處理

語法

awk [選項引數] 'script' var=value file(s)

或awk [選項引數] -f scriptfile var=value file(s)

引數說明

用法1

# 每行按空格或tab分割,輸出文字中的1、4項

awk '' test.txt

用法2

# 使用","分割

awk -f, '' test.txt

用法3

# 使用正則,~ 表示模式開始,// 中是模式

# 輸出第二列包含 "test",並列印第二列與第四列

$ awk '$2 ~ /test/ ' test.txt

內容檢視命令

語法

# 列印檔案內容到標準輸出裝置上

cat [-abeensttuv] [--help] [--version] filename

# 類似 cat ,不過會以一頁一頁的形式顯示

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [filenames..]

# 與 more 類似,但使用 less 可以隨意瀏覽檔案

less [引數] 檔案

# 可用於檢視檔案的開頭部分的內容,有乙個常用的引數 -n 用於顯示行數

head [引數] [檔案]

# 可用於檢視檔案的內容,有乙個常用的引數 -f 常用於查閱正在改變的日誌檔案

tail [引數] [檔案]

wc

用於計算字數

語法

wc [-clw][--help][--version][檔案...]
引數

Linux檔案內容查詢命令

grep fgrep和egrep命令 檔案查詢命令 find命令 功能 在目錄結構中搜尋檔案,並執行指定的操作。此命令提供了相當多的查詢條件,功能很強大。語法 find 起始目錄 尋找條件 操作 說明 find命令從指定的起始目錄開始,遞迴地搜尋其各個子目錄,查詢滿足尋找條件的檔案並對之採取相關的操...

linux 檔案內容查詢檢視命令

less usr local tomcat6 logs catalina.out 翻頁檢視檔案內容 less usr local tomcat6 logs catalina.out 顯示行號 less n usr apache tomcat 6.0.32 logs catalina.out less...

linux檔案查詢和內容過濾命令

grep fgrep和egrep命令 這組命令以指定模式搜尋檔案,並通知使用者在什麼檔案中搜尋到與指定的模式匹配的字串,並列印出所有包含該字串的文字行,在該文本行的最前面是該行所在的檔名。grep命令一次只能搜尋乙個指定的模式 egrep命令檢索擴充套件的正規表示式 包括表示式組和可選項 fgrep...