博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux sed 总结
阅读量:6001 次
发布时间:2019-06-20

本文共 1398 字,大约阅读时间需要 4 分钟。

1.简介

sed是一种行编辑器,它一次处理一行内容。

2.sed调用方式

sed [options] 'command' file(s)

sed [options] -f scriptfile file(s)

第一种直接在命令行中执行,第二种把命令写到了脚本中,二者无本质区别。

  • 示例(1):打印hello.txt的内容
sed -n p hello.txt

说明:

-n:sed会在处理一行文本前,将待处理的文本打印出来,-n参数关闭了这个功能
p:命令表示打印当前行
hello.txt:待处理的文件
这个指令相当于cat

3.定址

告诉sed你期望处理的行,由逗号分隔的两个数字表示,$符号表示最后一行;

当然也可以使用正则来定位期望处理的行。

  • 示例(2):打印hello.txt的第二行到最后一行
sed -n '2,$'p hello.txt
  • 示例(3):打印hello.txt中正则匹配"100"的行
sed -n '/100/'p hello.txt

4.基本命令

hello.txt的内容为

1 2 310 20 30100 200 300
  • 命令:a\
    在匹配行的后面加入一行文本
  • 示例(4)匹配100的行,后面加入一行"new line"
sed '/100/'a\ "new line" hello.txt

输出内容为:

1 2 310 20 30100 200 300new line
  • 命令:i\
    在匹配行的前面加入一行文本
  • 示例(5)匹配100的行,前面加入一行"new line"
sed '/100/'i\ "new line" hello.txt

输出内容为:

1 2 310 20 30new line100 200 300
  • 命令:c\
    将匹配行替换为目的行
  • 示例(5)匹配100的行,替换为"new line"
sed '/100/'c\ "new line" hello.txt

输出内容为:

1 2 310 20 30new line
  • 命令:d
    将匹配行删除
  • 示例(5)删除匹配100的行
sed '/100/'d hello.txt

输出内容为:

1 2 310 20 30
  • 命令:s
    将匹配行替换

详细命令为:s/pattern-to-find/replacement-pattern/g

pattern-to-find:被替换的串
replacement-pattern:替换成这个串
g:全部替换,默认只替换匹配到的第一个

  • 示例(5)讲100替换为hello
sed 's/100/hello/g' hello.txt

输出内容为:

1 2 310 20 30hello 200 300

5.元字符集

^:匹配一行的开始

$:匹配一行的结束
.:匹配某个字符
[abc]:匹配指定范围字符

6.实用命令

匹配以10开头的行,并替换为yes,并输出

sed -n 's/^10/yes/p' hello.txt

输出内容为:

yes 20 30yes0 200 300

取出文件中行手的行号与冒号

设hello.txt的内容为

1:#!/bin/sh2:cat hello.txt3:exit

命令:

sed -n -e 's/^[0-9]\{1,\}://g'p hello.txt

输出结果为:

#!/bin/shcat hello.txtexit

转载地址:http://uqdmx.baihongyu.com/

你可能感兴趣的文章
javascript面试题:如何把一句英文每个单词首字母大写?
查看>>
URAL 1962 In Chinese Restaurant 数学
查看>>
计算 TPS,QPS 的方式
查看>>
洛谷⑨月月赛Round2 P3393逃离僵尸岛[最短路]
查看>>
群晖NAS使用Docker安装迅雷离线下载出现the active key is not valid.
查看>>
spring boot 2使用Mybatis多表关联查询
查看>>
Making HTTP requests via telnet - Tony's Place
查看>>
千元机市场再添“新宠”,红米Note7和vivo Z3谁才是千元王者
查看>>
荣耀10GT升级EMUI 9.0体验分享:这可能是最好用的手机操作系统
查看>>
ZStack基于华芯通打造ARM国产云平台 助力云上贵州多项应用
查看>>
200本“保护日记”记录黄山迎客松生长变化
查看>>
多方力量携手呵护“中华水塔”青海三江源
查看>>
互联网的下一波红利在哪里?
查看>>
拿姐姐身份证登记结婚竟然成了!婚姻户籍信息共享难在哪儿
查看>>
恒大造车加速,联手柯尼塞格打造顶级新能源车
查看>>
JAVA大神说一个例子让你几分钟学会Annotation
查看>>
富士康要用机器人生产iPhone了?那么多工人怎么办?
查看>>
Python获取当前页面内的所有链接的五种方法
查看>>
【进阶2-3期】JavaScript深入之闭包面试题解
查看>>
【Chrome扩展开发】定制HTTP请求响应头域
查看>>