sed 的基础应用与掌握

赶紧试试吧看是看不会的

sed:可以将数据进行替换,删除,新增,选取特定行等,(过滤和取行)
-n 安静模式即,加上-n后,只有经过特殊处理的这行被输出到屏幕上
– i 直接修改文件内容而不是只是输出到终端。
-f直接将sed的动作写在一个文件内,
-r支持扩展正则表达式输出
sed 常用内置命令字符
a append(表示在指定行后添加文一或多行)
d delete (删除指定行)
i insert (指定行前插入一行或多行)
p print (表示匹配打印行的内容)
c copy ()
sed 命令太强大,光看看不会的。直接来练习:
1.如在fsed文件中?
[root@centos7 old]#sed ‘2a yesyesyes’ fsed (表示在第二行后增加yesyesyes行)
alfjsajfla
slfjskl
yesyesyes
urwer09we
2.那如果是增加3行呢?
[root@centos7 old]#sed ‘2a ddd\nbbb\ndddn’ fsed
alfjsajfla
slfjskl
ddd
bbb
dddn (切记:\n换行符)
同理d,i,p,c的用法和a 一样
3.如删除文件2到最后一行?
[root@centos7 old]#sed ‘3,$d’ fsed
alfjsajfla
slfjskl ($就是表示最后一行)
4.把所有a替换成W?
[root@centos7 old]#sed ‘s#a#W#g’ fsed
WlfjsWjflW
slfjskl
urwer09we
也可以把第三行替换成BBBB?
[root@centos7 old]#sed ‘3c BBBB’ fsed
alfjsajfla
slfjskl
BBBB
473298473
5.
[root@centos7 old]#echo>fsed (清空文件内容)
[root@centos7 old]#sed -i ‘aaa\nddd\nccc\nuuu\nmmm\n6666\n888\n999’ fsed|nl (nl是加上行号)
 
1 aa
2 ddd
3 ccc
4 uuu
5 mmm
6 6666
7 888
8 999
好,现在我想让奇数行和偶数行全部合并?
[root@centos7 old]#sed ‘N;s#\n##g’ fsed (N,sed强大的内置命令, 碰到N,会执行”$###g”循环执行把换行符换成空直到文件结束)
aa
dddccc
uuummm
6666888
999
6.-n的应用,仅列出文件中的第2到4行?
[root@centos7 old]#sed -n ‘2,4p’ fsed
aa
ddd
ccc
如果再加上-i, 那相当于直接把2到4行外的所有行删除了?即只留下2到4行
[root@centos7 old]#sed -i -n ‘2,4p’ fsed
[root@centos7 old]#cat fsed
aa
aa
ddd

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/96573

(0)
上一篇 2018-04-19 20:08
下一篇 2018-04-20 10:53

相关推荐

  • 笔记

    LINUX中查看路由表的命令 route -nIP地址 有类的 无类的无类:网络ID ,主机ID不确定 (32位以内的)CIDR 无类域间路由无类ID要与netmask(子网掩码)一起用 用子网掩码(也是32位的2进制数)来确定无类ID的网络ID和主ID netmask对应的是1IP/网络ID位数255.255.0.000000000 010000000 1…

    Linux笔记 2018-05-01
  • ELK日志搜索引擎

    概念ELK 是什么 ELK 是 elastic 公司旗下三款产品 ElasticSearch 、Logstash 、Kibana 的首字母组合。 ElasticSearch 是一个基于 Lucene 构建的开源,分布式,RESTful 搜索引擎。 Logstash 传输和处理你的日志、事务或其他数据。 Kibana 将 Elasticsearch 的数据分析…

    Linux笔记 2020-01-30
  • 第二周小总结

    课堂笔记

    2018-04-09
  • 软件包管理 yum

    yum安装过程

    2018-05-05
  • 用户管理练习

    用户管理练习: 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d’ ‘ -f1 | sort -u liulian root 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# last | h…

    2018-05-28
  • 第三周博客作业-N31-Linux用户的权限及文本相关工具

    本篇文章围绕Linux的权限及文本的相关工具,涉及到useradd、usermod、userdel、groupadd、groupmod、groupdel、cut、grep、sort等相关命令

    Linux笔记 2018-08-09