linux的sed与awk

本文介绍了sed,一个非交互式字符流编辑器,用于文件处理、日志分析和配置修改,以及awk,一种强大的文本处理语言,支持自定义函数和正则表达式。通过实例演示了它们在处理文本文件中的应用,如行选择、添加、删除和内容替换。
摘要由CSDN通过智能技术生成

sed
Sed是一个流处理编辑器,它能帮助我们自动处理文件、分析日志文件、
修改配置文件等。
Stream Editor文本流编辑,sed是一一个“非交互式的"面向字符流的编
辑器。能同时处理多个文件多行的内容
可以不对原文件改动, 把整个文件输出到屏幕
可以把匹配到的内容输出到屏幕上
还可以对原文件改动, 但是不会再屏幕上返回结果

cat sed.test  | sed -n '/2222/p'   查看带有2222的行

sed -e '2a hello world'  sed.test    第三行内容添加为hello

cat -n sed.test |  sed--e '2,3d'   删除2到3行

cat sed.test | sed   '/22222/d'   删除带22222的行

 cat   -n sed.test |sed '1,2c hahaha        讲1-2替换hahaha

sed  's\Heha\g'  sed.test  将hello换成heha

 -------------------------------------------------------------------

awk
awk是一种编程语言。用于在linux/unix 下对文本和数据进行处理。它支持用户
自定义函数和动态正则表达式等功能,是linux/unix 下的一一个强大编程工具。
awk命名来自于三位创始人Alfred Aho, Peter Weinberger,和Brian
Kernighan的Family Name的首字符。
awk的处理方式
awk- -次处理- -行内容
awk对每行可以切片处理,空格和制表符为默认分隔符将每行切片切开的部分再进行
各种分析处理

cat /etc/passwd  | awk  -F  :  '{print $1}'  分割显示第一列的用户

 cat /etc/passwd | awk -F :' 'BEGIN {print "start1,start7"} {print $1
"," $7} END {print " end1,end7"}'

显示/etc/ passwd的第1列和第7列,用逗号分隔显示,所有行开始前添加
列名start1, start7, 最后- -行添加,end1, end7

 

 cat /etc/passwd | awk -F :'$1 ~ /00/'   匹配某段字符

 

head -n5 /etc/passwd| awk -F : '{ print NR" "NF”"$0}'

显示/etc/passwd的前五行,显示每行的行号、列数,以及该行完整的内

 

 cat /etc/passwd | awk -F : '$3=="0"'      这里操作付亏可以用二=。>。>=。
≤,<=.=都是可行和数字比较时,将数字要用双引号“"'引起来,表示字符串,不加引号表示数字

cat /etc/passwd| awk -F : $3==” 0

----------------------------------------------------------------------------------

 

 ------------------------------------------------------

head -n4 /etc/passwd | awk -F :f(sum=sum+ $3);END{print sum}'

累加前四行用户的uid

cat /etc/passwd | awk -F ':'{if ($1 > "q"){ print $1 } else { print}}'

输出第一个字段的第-个字符大于q的行

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值