文本处理

cut

image.png

grep

-i:忽略大小写
-n:显示行
-v:不包含xx的行
-Ax:之后几行
-Bx:之前几行
-C:前后n行

sed

对文件中内容替换

image.png

删除重复行

image.png
uniq只能删除相邻的

diff:比较文档

image.png

查日志

应用场景一:按行号查看过滤出关键字附近的日志

1)cat -n test.log |grep “debug” 得到关键日志的行号
2)cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录

从文件中查找第一个出现”liu”字符串的行,并从该处前两行开始显示输出
more +/liu test.log

cat error.log | grep -C 5 ‘nick’ 显示file文件里匹配nick字串那行以及上下5行

应用场景二:根据日期范围查询日志

sed -n ‘/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p’ test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;
先 grep ‘2014-12-17 16:17:20’ test.log 来确定日志中是否有该 时间点

其他

搜索命令:ctrl + r

ctrl + r

搜索命令:man -k 关键字

2>&1

Linux shell中2>&1的含义解释 (全网最全,看完就懂)_业精于勤,荒于嬉;行成于思,毁于随-CSDN博客
2>&1一定要写到>log后面

  • nohup java -jar app.jar >log 2>&1 &

简写:

  • &>log
  • &log

    awk

    image.png