linux中sen命令 linux sensor

Linux日志截取利器——sed命令(亲测可用) 在生产环境中,往往没有条件给我们去debug排查,更多时候我们是通过日志来看具体的报错日期 。
但是日志往往是一直在实时更新,而且记录条数庞大 , 很难直接定位到错误信息 。这个时候,就可以利用sed命令来截取指定时间段内的日志(也是网上大多数博主的做法) 。
具体命令如下:
这条命令可以查询2020.10.13号当天9点到9点十分中间的所有的日志信息 。
但是这条命令的使用有两个前提(很多网上的博主都没有提到)
第一,日志输出的日期格式是要满足命令中的格式,如果不是的话就跟着实际的格式改
第二 , 输入的日期必须要真实存在?。。?,比如说9点整刚好没有日志输出,那么这条命令就会失效
更加通配的命令可以是这样,使用号*
这样无论九点整的时候是否有日志产生,就都可以获取到9点整到现在的所有日志了
使用 , 将截取到的内容输出到指定的文件中 , 方便进一步查看
ps:在实际操作中 , 我们一般会在后面加grep命令做进一步的关键字过滤
Linux命令之sed-删除匹配行1. sed-i '/preSql/d' a.txt
---删除匹配到 preSql的行
2. sed -i '1d' a.txt
---删除第一行
3. sed -i '3~2d' a.txt
---从第三行开始,每隔一行删除
4. sed -i '4,8d' a.txt
---删除从第4行到第8行
5. sed -i '$d'a.txt
---删除最后一行
6. sed '/^$/d' a.txt
---删除所有空行
7. sed -i'/Website Design/,$d' a.txt
---从匹配行到末尾行
8. sed -i'/Storage/,+2d' a.txt
--- 删除匹配行和之后两行
Linux中的sed是什么意思呢,简单解释一下啊Sed是一项Linux指令linux中sen命令,全称是Stream
EDitorlinux中sen命令,功能同awk类似,差别在于 , sed简单 , 对列处理linux中sen命令的功能要差一些,awk的功能复杂,对列处理的功能比较强大 。Sed主要用于自动编辑一个或者多个文件,多用于脚本中对文件的处理 。
Sed命令可以对文件进行增加、删除、修改和查找操作 , 所以学好sed命令是写自动化脚本必须的基础之一 。
Linux命令之sed-替换字符串1. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' csv2drds-TF_B_PAYLOG_D.json
---指定文件替换,将文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;
2. sed -i 's/CANCEL_TIME/CANCEL_RECV_TIME/g' `grepCANCEL_TIME -rl ./*TF_B_PAYLOG_D*.json`
---批量文件替换,递归查找含CANCEL_TIME的文件,将所有文件中的CANCEL_TIME替换成CANCEL_RECV_TIME;
3. sed -i 's/\/tmp\/ditagent\/TF_B_PAYLOG_D.csv/\/vdata\/datapre\/281\/'"$filename"'/g' $jsonname
---带/的字符串替换,将/tmp/ditagent/TF_B_PAYLOG_D.csv替换成/vdata/datapre/281/'"$filename"'
4. sed -i 's/^/beginstring/g' *.txt
---在所有行首添加字符串;
5.sed -i 's/$/endstring/g' *.txt
---在所有行末添加字符串
6. sed -i '2s/原字符串/替换字符串/g' *.txt
---替换第2行
7. sed -i '$s/原字符串/替换字符串/g' *.txt
---替换最后一行
8. sed -i'2,5s/原字符串/替换字符串/g' *.txt
---替换2到5行
9. sed -i'2,$s/原字符串/替换字符串/g' *.txt
---替换2到最后一行
10. sed's/\x80/|/g'test.dat |iconv -f gbk -t utf-8testutf8.dat
---把test.dat中的欧元符号替换成竖线 , 再将文件gbk格式转成utf8
-i选项是直接在文件中替换,不在终端输出;
-r选项是所给的path中的目录递归查找;
-l选项是输出所有匹配到oldstring的文件;

推荐阅读