linux相关
如何查找特定的文件:
find :在指定目錄下查找文件
find -name "filename" :從當前目錄查找文件
find / -name "filename" : 從根目錄下查找文件
find ~ -name "target*" :從用戶目錄查找以target開頭的文件??
find ~ -iname "target*":從用戶目錄查找以target開頭的文件(忽略target的大小寫)
man:查看幫助
man find
?
根據文件內容檢索文件:
grep [options] pattern file? :查找文件里符合條件的字符串,并打印匹配的行
? grep "test" target*:查找以target開頭的文件中的test內容
管道操作符 |:
可將指令鏈接起來,前一個指令的輸出作為后一個指令的輸入,管道命令只能執行前一個命令的正確輸出,不能執行錯誤
? 右邊命令必須能夠接受標準輸入流,否則傳遞過程中數據就會被拋棄
例子:
grep 'partial\[true\]' basc.info.log? ==> 檢索log文件中包含partial[true]字符的行
grep -o 'engine\[[0-9a-z]\]' ==》檢索出engine[11111111111],符合正則表達式的內容?
grep -v 'grep' ==》排除包含grep的命令? ?如 ps -ef | grep java | grep -v 'grep'? ?
?
對文件內容做統計:
awk [options] 'cmd' file:一次讀取一行文本,按輸入分隔符進行切片,切成多個組成部分,將切片直接保存在內建變量中,$1,$2...$0表示行的全部
? 支持對單個切片的判斷,支持循環判斷,默認分隔符為空格
? 例子:
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
修改默認分隔符:
awk -F "," 'print{ $2}'
做統計:
?
批量替換文本內容:
sed [options] 'sed command' filename: 流編輯器,適用于對文本行內容進行處理
例子:
sed 's/^Str/String/' replace.java ==》替換Str開頭的文本,? s表示字符串操作(該操作并不會修改原文件的內容,只是將修改后的內容輸入的屏幕)
如果需要修改源文件:sed -i 's/^Str/String/' replace.java
?
總結
- 上一篇: linux相关(find/grep/aw
- 下一篇: git把本地代码上传(更新)到githu