Linux中grep,awk,sed,xargs

直接以实例来介绍他们的使用方法

yarn application -list |grep jinxb |awk '{print "hadoop job -kill "$1}' |sed 's/application/job/g' |sh  

1、grep很简单就是正则表达式匹配,匹配含关键字‘jinxb’的进程,grep还有其他的option可以参见这里

2、awk是一种处理文本文件的语言,是一个强大的文本分析工具。特点是处理灵活,功能强大。可实现统计、制表以及其他功能。参考这里
命令行格式
awk [options] ‘command’ file(s)

  • {} 命令代码块,包含一条或多条命令
  • print函数的参数可以是变量、数值或者字符串。字符串必须用双引号引用,参数用逗号分隔。如果没有逗号,参数就串联在一起而无法区分。这里,逗号的作用与输出文件的分隔符的作用是一样的,只是后者是空格而已。
  • $0,$1,$2… 表示整个当前行\
  • $1 每行第一个字段

因此yarn application -list |grep jinxb |awk '{print "hadoop job -kill "$1}'的输出如下
在这里插入图片描述

3、sed 批量替换文件内容,用法s就是替换命令,g是全局替换

sed -i "s/原字符串/新字符串/g"

例中就是将application 替换为job

4、xargs命令的作用,是将标准输入转为命令行参数。
不同于grep、awk、sed等,大多数命令都不接受标准输入作为参数,只能直接在命令行输入参数,这导致无法用管道命令传递参数,所以就需要在管道命令’|'后面搭配
xargs使用

echo "hello world" | xargs echo

如上例echo就不能直接使用管道传递过来的参数,需要和xargs 搭配。

ps aux|grep 2_0_pre_AllApplist_per60day.py | awk '{print $2}'|xargs kill -9

参考:
【1】https://segmentfault.com/a/1190000015885994
【2】https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值