日志查找: 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(替换标识)直接有空格,\\后面还有空格,并且要换行,新插入的内容占一行,之后再换行