A. linux如何對文件內容中的關鍵字進行查找
1、首先我們准備一個要查找的文件,如下圖所示。
B. 你好 請問linux下怎麼用grep精確匹配,其他命令也行
ps -ef |grep tomcat如果有一大長長長串的東西出現,說明tomcat是啟動了,第一個是啟動該進程的用戶,第二個是該進程的id,第三個 是佔用CPU的百分比,第四個是佔用內存的百分比懶的敲了,其他的:USERPID%CPU%:該 process 屬於那個使用者賬號的? PID:該 process 的號碼。 %CPU:該 process 使用掉的 CPU資源百分比;? %MEM:該 process 所佔用的物理內存百分比;? VSZ:該 process 使用掉的虛擬內存量 (Kbytes)? RSS:該 process 佔用的固定的內存量 (Kbytes)? TTY:該 process 是在那個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若為 pts/0等等的,則表示為由網路連接進主機的程序。 STAT:該程序目前的狀態,主要的狀態有:o R:該程序目前正在運作,或者是可被運作;o S:該程序目前正在睡眠當中 (可說是 idle 狀態啦!o T:該程序目前正在偵測或者是停止了;
C. 在linux中查找字元串用什麼命令
Linux查找字元串用grep命令,可以查找文件,也可以在命令的結果中查找。如果是在文件中查找字元串,用法是:
grep 用英文單引號括起來的字元串 文件名
如果是在命令的顯示結果中查找,需要用管道符將命令與grep連接起來,像這樣:
last | grep 'root'
(在last命令的顯示結果中查找字元串root)
D. Linux查詢命令
grep、fgrep和egrep命令
這組命令以指定模式搜索文件,並通知用戶在什麼文件中搜索到與指定的模式匹配的字元串,並列印出所有包含該字元串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個指定的模式;egrep命令檢索擴展的正則表達式(包括表達式組和可選項);fgrep命令檢索固定字元串,它不識別正則表達式,是快速搜索命令。
語法:
grep [選項] [查找模式] [文件名1,文件名2,……]
egrep [選項] [查找模式] [文件名1,文件名2,……]
fgrep [選項] [查找模式] [文件名1,文件名2,……]
這組命令各選項的含義為:
- E 每個模式作為一個擴展的正則表達式對待。
- F 每個模式作為一組固定字元串對待(以新行分隔),而不作為正則表達式。
- b在輸出的每一行前顯示包含匹配字元串的行在文件中的位元組偏移量。
- c 只顯示匹配行的數量。
- i 比較時不區分大小寫。
- h 在查找多個文件時,指示grep不要將文件名加入到輸出之前。
- l 顯示首次匹配串所在的文件名並用換行符將其隔開。當在某文件中多次出現匹配串時,不重復顯示此文件名。
- n 在輸出前加上匹配串所在行的行號(文件首行行號為1)。
- v 只顯示不包含匹配串的行。
- x 只顯示整行嚴格匹配的行。
- e expression 指定檢索使用的模式。用於防止以「-」開頭的模式被解釋為命令選項。
- f expfile 從expfile文件中獲取要搜索的模式,一個模式佔一行。
對該組命令的使用還需注意以下方面:
在命令後鍵入搜索的模式,再鍵入要搜索的文件。其中,文件名列表中也可以使用特殊字元,如「*」等,用來生成文件名列表。如果想在搜索的模式中包含有空格的字元串,可以用單引號把要搜索的模式括起來,用來表明搜索的模式是由包含空格的字元串組成。否則,Shell將把空格認為是命令行參數的定界符,而grep命令將把搜索模式中的單詞解釋為文件名列表中的一部分。在下面的例子中,grep命令在文件example中搜索模式「text file」。
$ grep 'text file' example
用戶可以在命令行上用Shell特殊字元來生成將要搜索的文件名列表。在下面的例子中,特殊字元「*」用來生成一個文件名列表,該列表包含當前目錄下所有的文件。該命令將搜索出當前目錄下所有文件中與模式匹配的行。
$ grep data *
特殊字元在搜索一組指定的文件時非常有用。例如,如果想搜索所有的C程序源文件中特定的模式,您可以用「*.c」來指定文件名列表。假設用戶的 C程序中包含一些不必要的轉向語句(goto語句),想要找到這些語句,可以用如下的命令來搜索並顯示所有包含goto語句的代碼行:
$ grep goto *.c
E. LINUX系統如何顯示出某個匹配的命令
tab鍵
如 ubuntu下鍵入下列命令 sud[tab] apt-g[tab] ins[tab]
會自動補全為sudo apt-get install
如果繼續鍵入命令如sudo apt-get install php[tab tab]則會列出以php開頭的所有命令
F. linux查找內容命令
find,用於在文件樹中查找文件並作相應的處理
-name:按照文件名查找文件
-perm:按照文件許可權查找文件
-user:按照文件屬主來查找文件
-size:按照指定的文件大小查找文件【+n:大於,-n:小於,n:等於】
-group:按照文件所屬的組來查找文件
-mtime<-n><+n>:按照文件更改時間來查找文件,-n表示n天之內,+n表示n天以前
-newer file1 file2:查找更改時間在file1和file2之間的文件
例如:
find -mtime -2:查找48小時修改過的文件
find -name ".log":查找當前目錄以".log"結尾的文件
find /opt/soft/test -perm 777:查找指定目錄下許可權為777的文件
find -type f -name "*.log":查找當前目錄下以".log"結尾的普通文件
find -type d | sort:查找當前所有目標目錄並排序
find /home/wansw -size +20M:查找大於20M的文件
locate指令,可以快速定位文件路徑,利用事先建立的系統中的所有文件名稱和路徑的locate資料庫,無需遍歷整個文件系統,查詢速度較快,為了保證查詢准確性,需要定期更新。《Linux就該這么學》
updatedb:第一次運行前,創建locate資料庫
grep,用於過濾/搜索指定字元串。可以使用正則表達式,能配合多種命令使用。
用法:grep 【選項】 查找內容 源文件
-A:顯示符合的行及之後的內容
-B:顯示符合的行及之前的內容
-C:顯示符合的行及前後的內容
-c:計算符合的行數目
-n:顯示匹配行和行號
-i:忽略大小寫
規則表達式
:'grep'表示匹配所有以grep開頭的行
'表示匹配所有以grep結尾的行
.:'gr.p'表示匹配'gr'後面接任意字元然後是'p'
:'grep'表示匹配一個或多個空格後緊跟grep的行
[]:[Gg]rep表示匹配Grep與grep
[]:[A-FH-Z]rep表示匹配不以A-F、H-Z開頭並緊跟rep的行
例如(grep命令大多數時候多要和別的命令一起使用才有意義):
ps -ef | grep -c SVN:查找指定的進程的個數
cat test.txt | grep -f test2.txt:從text2.txt中讀取關鍵字後在test.txt中搜索
cat test.txt | grep nf text2.txt:從text2.txt中讀取關鍵字後在text.txt中搜索並顯示行號
grep 'linux' text.txt test2.txt:從多個文件中搜索關鍵字'linux'
cat test.txt | grep -E 'ed|at':顯示包含ed或at的行
G. linux 命令行 不能查找命令
要先用
set -o vi
進入vi 命令模式。
你如果vi用的好,不但「用j 和 k 來上下查找」,而且還可以對所找到的以前輸入過的命令進行修改。
H. 關於linux中字元串查找命令咨詢
您好。
命令whereis 查找可執行文件,源代碼,幫助文件的絕對路徑。
命令which告訴我們當輸入某個命令執行時,SHELL到底調用了哪個版本的命令。
然後是最重要的find命令,譬如我們要在/usr目錄查找文件intelism:
find /usr -name intelism -print
具體的參數可查看man文檔。
然後是查找文件中的字元串,命令是grep,egrep,fgrep.一般我們都用grep,但egrep支持全部的正則表達式。比如我們要查看./intelism文件里的字元"xingshangdeluren"
grep -n "xingshangdeluren" ./intelism
比如要查看所有以A或者a開頭的字元串那麼:
grep -n -i '\<a' ./intelism
比如我們要看~/intel/文件下有沒有SIZE為0的文件:
ls -l ~/intel/ | grep 「0」| cut -f10 -d' '
我也剛學,不是太懂,你可以自己去查MAN文檔和上論壇和實踐之。
I. 懸賞100分!!求linux下的文本字元串匹配命令,詳情如下:
這個好使. 親測:
awk 'BEGIN { RS="<cmd>"; FS="</cmd>" } /<type>2</ {print}' filename
標准答題, 可以結帖了
J. Linux下Grep命令的詳細使用方法
在linux中grep命令是非常有用的,它和管道(|)配合使用,非常強大,用於搜索文本文件.如果想要在幾個文本文件中查找一字元串,可以使用『grep』命令。『grep』在文本中搜索指定的字元串。
假設您正在『/usr/src/linux/Documentation』目錄下搜索帶字元串『magic』的文件:
$ grep magic /usr/src/linux/Documentation/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件『sysrp.txt』包含該字元串,討論的是 SysRQ 的功能。
默認情況下,『grep』只搜索當前目錄。如果此目錄下有許多子目錄,『grep』會以如下形式列出:
grep: sound: Is a directory
這可能會使『grep』的輸出難於閱讀。這里有兩種解決的辦法:
明確要求搜索子目錄:grep -r
或忽略子目錄:grep -d skip
當然,如果預料到有許多輸出,您可以通過 管道 將其轉到『less』上閱讀:
$ grep magic /usr/src/linux/Documentation/* | less
這樣,您就可以更方便地閱讀。
有一點要注意,您必需提供一個文件過濾方式(搜索全部文件的話用 *)。如果您忘了,『grep』會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 <CTRL c> ,然後再試。
下面是一些有意思的命令行參數:
grep -i pattern files :不區分大小寫地搜索。默認情況區分大小寫,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整個單詞,而不是字元串的一部分(如匹配『magic』,而不是『magical』),
grep -C number pattern files :匹配的上下文分別顯示[number]行,
grep pattern1 | pattern2 files :顯示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。
這里還有些用於搜索的特殊符號:
\< 和 \> 分別標注單詞的開始與結尾。
例如:
grep man * 會匹配 『Batman』、『manic』、『man』等,
grep '\<man' * 匹配『manic』和『man』,但不是『Batman』,
grep '\<man\>' 只匹配『man』,而不是『Batman』或『manic』等其他的字元串。
'^':指匹配的字元串在行首,
'$':指匹配的字元串在行尾,
如果您不習慣命令行參數,可以試試圖形界面的『grep』,如 reXgrep 。這個軟體提供 AND、OR、NOT 等語法,還有漂亮的按鈕 :-) 。如果您只是需要更清楚的輸出,不妨試試 fungrep 。