linux相关
如何查找特定的文件:
find :在指定目錄下查找文件
find -name "filename" :從當(dāng)前目錄查找文件
find / -name "filename" : 從根目錄下查找文件
find ~ -name "target*" :從用戶目錄查找以target開(kāi)頭的文件??
find ~ -iname "target*":從用戶目錄查找以target開(kāi)頭的文件(忽略target的大小寫(xiě))
man:查看幫助
man find
?
根據(jù)文件內(nèi)容檢索文件:
grep [options] pattern file? :查找文件里符合條件的字符串,并打印匹配的行
? grep "test" target*:查找以target開(kāi)頭的文件中的test內(nèi)容
管道操作符 |:
可將指令鏈接起來(lái),前一個(gè)指令的輸出作為后一個(gè)指令的輸入,管道命令只能執(zhí)行前一個(gè)命令的正確輸出,不能執(zhí)行錯(cuò)誤
? 右邊命令必須能夠接受標(biāo)準(zhǔn)輸入流,否則傳遞過(guò)程中數(shù)據(jù)就會(huì)被拋棄
例子:
grep 'partial\[true\]' basc.info.log? ==> 檢索log文件中包含partial[true]字符的行
grep -o 'engine\[[0-9a-z]\]' ==》檢索出engine[11111111111],符合正則表達(dá)式的內(nèi)容?
grep -v 'grep' ==》排除包含grep的命令? ?如 ps -ef | grep java | grep -v 'grep'? ?
?
對(duì)文件內(nèi)容做統(tǒng)計(jì):
awk [options] 'cmd' file:一次讀取一行文本,按輸入分隔符進(jìn)行切片,切成多個(gè)組成部分,將切片直接保存在內(nèi)建變量中,$1,$2...$0表示行的全部
? 支持對(duì)單個(gè)切片的判斷,支持循環(huán)判斷,默認(rèn)分隔符為空格
? 例子:
awk '{print $1,$4}' netstat.txt
awk '$1=="tcp" && $2==1{print $0}' netstat.txt
NR:代表表頭
awk '($1=="tcp" && $4==1) || NR==1 {print $0}' netstat.txt
修改默認(rèn)分隔符:
awk -F "," 'print{ $2}'
做統(tǒng)計(jì):
?
批量替換文本內(nèi)容:
sed [options] 'sed command' filename: 流編輯器,適用于對(duì)文本行內(nèi)容進(jìn)行處理
例子:
sed 's/^Str/String/' replace.java ==》替換Str開(kāi)頭的文本,? s表示字符串操作(該操作并不會(huì)修改原文件的內(nèi)容,只是將修改后的內(nèi)容輸入的屏幕)
如果需要修改源文件:sed -i 's/^Str/String/' replace.java
?
總結(jié)
- 上一篇: linux相关(find/grep/aw
- 下一篇: 《Linux高性能服务器编程》学习笔记