日誌查找: cat userLog.log | grep "searchKey" -A 10 -B 5 | cut -d ":" -f 1 | cut -b 2
cat:打印文件內容 cat -n user.log 輸出內容加行號
echo 往文件寫 echo "hello" >> new.log >表示覆蓋, >> 表示追加
tail 打印文件
tail -f user.log
-f 循環打印
-100f 每100行打印一次
-n 100 顯示文件結尾100行
-c 10 顯示文件最後10個字符
grep :分組,查看日誌經常用到
從userLog.log 搜索字符,
-A 搜到結果行之後再顯示多少行
-B 搜到結果行之前再顯示多少行
-C -A -B的合集
-c 統計符合行總數
-i 忽略搜索字符大小寫
-n 顯示搜索結果所在的行數
-v 找出除了這條記錄的其他記錄
ps -ef | grep rsync | grep -v grep |awk '{print $2}' 找出rsync的進程id,如果沒有grep -v 會有兩條記錄,
cut 行分割
echo "abc:123" | cut -d ":" -f 1 | cut -c 2 結果:b
-d 自定義分隔符
-f 行分割後指定哪個區域, 從1開始
-b -c 以字符分割, 獲取結果,
sed 利用腳本編輯文件內容
a:新增行後,i:新增行前,d:刪除 c:取代,s:替換
linux: -i直接修改文件, -e多點編輯,不加參數,結果打印到屏幕,不修改文件,加\\防止轉移 需要換行,用\n
sed -i "4a\\Newline" user.log 從文件第4行後第5行新增Newline
sed -i "4i\\Newline" user.log 從文件第4行後第3行新增Newline
sed -i "2,4d" user.log 從2到4行,全刪除,包含2,4
sed -i "2,4c\\replace" 將2,4行內容替換爲 replace
sed -i "s/oldString/newString/" user.log 將文件中的內容替換,支持正則
sed -e '3,$d' -e 's/bash/blueshell/' -e多點編輯, 先刪除第3行到末尾的數據,再將blueshell 替換bash
mac:不一樣的地方在插入文件,執行sed,第一個參數表備份格式,不需要可以爲空
sed -i "" "s/old/new/g" user.log
sed -i "" "6,8 c\\
temp
" tmp.xml
sed -i "" "2 a\\
new line
" tmp.xml
插入文件,數字和c(替換標識)直接有空格,\\後面還有空格,並且要換行,新插入的內容佔一行,之後再換行