Linux sed基本使用

文章来源:王琦的个人博客-Linux sed基本用法 ,互联网打杂,喜欢多语言编程,记录一些知识碎片,分享一些心得。

linux三剑客之sed,实现数据的替换,删除,增加,选取等(以行为单位进行处理)

sed 常用参数

  • -n:取消默认输出 一般与-p一起使用
  • -i:直接修改文件内容
  • -r:使用正则

取行

# sed -n '/匹配的内容/p'	过滤出指定内容的行
# 取出指定行
sed -n '20p'|'20p,30p'		# 取出文件第几行

sed -n '/php/,/^linux/p'	# 取出包含php,linux的行

sed -rn '/php|linux/p'		# 正则查找包含php或linux的行

sed -n '1p;2p;3p'			# 取出1,2,3行

# 过滤空行的几种方法
grep -v '^$' file
sed '/^$/d' file
sed -n /'^$/!p' file
awk '!/^$/' file

增加

sed '3i content' file	# 指定行前面增加内容

sed '3a content' file	# 后面增加内容

sed '$a content\ncontent1'	# 最后一行增加,多行加上\n

sed -n '$p' file	# 显示最后1行,$p表示最后一行

其他命令:cat echo>>

删除

# 删除
# ^$ 表示空行  
# /要匹配的内容/  d表示删除,sed后不加参数默认输出执行后果的内容。

sed '/^$/d' file	# 删除空行

sed '$d' file	# 删除最后一行

sed '1d' file	# 删除第一行

sed '/php/d' file	# 删除带有php的行

sed '1,4d' file		# 删除1-4行

替换

sed -i 's#要查找的内容#替换的内容#g' file

# 获取网卡信息 取出第二行 替换内容
ifconfig eth0 | sed -n '2p'|sed 's#inet#ip#g'

# 简写方式:2表示去第几行后面是替换命令
...| sed -n '2s#inet#ip#g'
			
# 取出网卡ip
ifconfig eth0|sed -rn '2s#^.*dr:(.*) Bc.*$#\1#gp' 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值