java 高效文本查找替换_linux文本处理三剑客——grep

43272b68f08e8c84ad9d34a373da051e.png

Linux 三剑客是(grep,sed,awk)三个工具或者说命令的简称,熟练使用这三个工具可以提升运维效率。三剑客在文件处理方面功能非常强大,当然我们只需要掌握他们分别擅长的领域即可:grep擅长查找功能,sed擅长取行和替换。awk擅长取列。


grep介绍

grep是一种强大的文本搜索工具,它能使用特定模式匹配搜索文本,并默认输出匹配行。grep的查询源可以是具体文件,也可以是其他命令的输出结果。


grep常见用法

下面给大家介绍下小P在工作中使用grep较为典型的一些案例

  1. 查询mysql初始密码

3f644941f4fd3316374e5ad92ff4b917.png

当我们在linux上安装mysql数据库的时候,第一次启动后登陆需要一个初始密码,这个初始密码保存在了mysql的日志文件中,具体位置是/var/log/mysqld.log。

我们通过以下grep命令来快速查询定位到密码所在的行

cat /var/log/mysqld.log|grep password

grep password /var/log/mysqld.log


  1. 查看tomcat日志并只看某一部分的内容

9b121a84efeb25e121da41b1f12d65b0.png

做java开发的程序员对于tomcat可能并不陌生,我们在启动项目以后需要看一下日志来确保项目真的正确启动了,或者在项目出了问题以后我们需要通过看日志来定位到具体的问题,以方便后面的问题修复。

下面的命令我们使用grep并配合多个参数来实现不同需求日志过滤

看INFO日志

tail -f catalina.out | grep INFO

看INFO日志和WARNING日志

tail -f catalina.out | grep -e INFO -e WARNING

不看INFO日志

tail -f catalina.out | grep -v INFO

看ERROR日志以及它的后10行

tail -f catalina.out | grep -A 10 ERROR

看ERROR日志以及它的前10行

tail -f catalina.out | grep -B 10 ERROR

看ERROR日志以及它的前后各10行

tail -f catalina.out | grep -C 10 ERROR


  1. 查看java程序进程号

6bbce2843f856713f7c4ad19a52831d5.png

现在新的java项目都基本是spring boot项目,如果公司没有引入docker,那么可能是使用命令java -jar来手动启动的。当我们需要重启时需要先找到当前项目的进程号,将其杀死以后再次启动。

下面的命令都可以找到java项目进程号所在行

ps -aux|grep java

netstat -ntlp|grep java

最后我们附上一个grep命令的进阶版,结合awk和其他工具一行命令实现杀死java程序

# 启动java项目

nohup java -jar demo.jar > nohup.out 2>&1 &

# 关闭java项目

ps -aux|grep demo.jar|grep java|awk '{print $2}' | xargs -r kill -9

朋友们学会了吗,赶快尝试一下吧。

cf3fdbf021d16a4b66df7315b2a33ec6.png

65dcf31a8fca40eb6c4a179bd04fcca3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值