Linux(四)

sed介绍

Linux sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序

sed命令

sed动作可以理解为操作:
a:新增,a的后面可以接字串,新增字符串会在目前的下一-行
c:取代,C的后面可以接字串,这些字串可以取代n1,n2之间的行
d:删除,因为是删除,所以d通常写在最后
i:插入,i的后面可以接字串,新增字串会在目前的上一行
p: 打印,将某个选择的数据显示出。 通常p会与参数 sed -n -起运行
s:替换,可以直接进行替换。通常这个s的动作可以搭配正则表示。例如
1,20s/old/new/g (是不是和vim的替换很像? )

sed简单命令

cat sed.test | sed -n '22222/p'  【在文件中查看包括22222的行】
sed -e '2a hello word' 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\hello\haha\g'sed.test【将文本中hello换成haha】

awk介绍

什么是awk?
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。它支持用户
自定义函数和动态正则表达式等功能,是linux/unix下的一 一个强大编程工具。
店awk命名来自于三位创始人Alfred Aho, Peter Weinberger,和Brian Kernighan的Family Name的首字符。

swk简单命令

以:分割,显示/etc/passwd的第一-列,即用户名列
cat /etc/passwd| awk -F : '{print $1}'
显示/etc/passwd的第 1列和第7列,用逗号分隔显示,所有行开始前添加
列名start1, start7, 最后一行添加,end1, end7
cat /etc/passwd | awk -F ':' 'BEGIN{print "start1,start7"}{print $1","$7}END {print "end1,end7"}'
匹配某段字符
cat /etc/passwd | awk -F : '$1 ~ /00/'"
显示/etc/passwd的前五行,显示每行的行号、列数,以及该行完整的内容
head -n5 /etc/passwd | awk -F : '{print NR " " NF " "$0 }'
累加前四行用户的uid
head -n4 /etc/passwd | awk -F : ((sum= sum+ 3)}:END{print sum}'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值