1. 解压缩命令详解
2. grep
1) grep -c keyword file.txt 只关心匹配成功多少行, 加上-v统计没有匹配到keyword的行数
2) grep ----binary-files=TYPE
用grep "Full GC" gc.log 命令查看线上gc日志的时候提示gc.log是一个二进制文件,只打出了 Binary file gc.log matches.
要想把二进制文件中匹配的行打出来需要加上----binary-files=text 参数,告诉grep把二进制文件当做文本文件处理, 用grep -a也有同样的效果
3) grep --color 让行中匹配到的字符串更显眼
4) grep -i 或grep --ignore-case 忽略大小写
5)grep -r 递归搜索目录下的文件 --include=pattern 只搜索包含指定pattern的文件 --exclude==pattern 不搜索包含pattern的文件
6) grep -w 匹配完整单词
7)假如说要在一行很长的日志里过滤出abc170426210208189001这种订单号
grep -o '[a-z][a-z][a-z][0-9]\{15\}001' filename
-o 表示只打印出匹配的部分,正则表达式的意思是前三个是字母,中间有15个数字,最后三个是001
8)去掉字符串后面n个字符
sed 's/\(.\)\{3\}$//'
9)把秒形式的时间戳转换成格式化时间
awk '{print strftime ("%F %T",$0)}'
10)要grep的关键字里有‘[’或者']'需要转义
grep command=\\[ETDZ\\] filename
10. 去重并打印每行的个数
sort file | uniq -c
11. lsof -i:2181 查看端口占用情况,这个命令不加sudo就展示不出来root用户的占用
12. set命令参数
-e:若指令传回值不等于0,则立即退出shell。
-u:当执行时使用到未定义过的变量,则显示错误信息。
13. 解压zip或jar包内某一个文件
unzip yourzip.jar targetfile.txt -d targetdirectory
14 awk判断语句
awk '{if($1>1) print $1 $2 $3}'