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

相关推荐

  • 一些练习(4)

    一些练习(4) 1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 复制/etc/skel目录为/home/tuser1 改权限 2、编辑/etc/group文件,添加组hadoop。 vim直接添加hadoop组 3、手动编辑/etc/passwd文件新增一行,添加用户ha…

    2018-07-16
  • sed工具find工具与压缩打包工具基础命令详解

    附带上课练习题与答案

    2018-04-13
  • Linux中的练习题

    Linux文本查看和处理练习题
    Linux用户和组管理类命令的使用方法及练习题

    Linux笔记 2018-07-08
  • 运维自动化之ansible

    ansible的基本架构 ​ host inventory主机清单 ​ playbook相当于脚本, ​ modules模块 ansible工作原理 ​ 通过执行命令,或ansible playbook,cmdb ansible配置文件 ​ /etc/ansible/ansible.cfg主配置文件,配置ansible工作特性 ​ /etc/ansible/…

    Linux笔记 2018-06-03
  • 关于shell脚本编程的基础知识理解介绍

    shell:     Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 shell脚本:是一种为shell编写的脚本程序,其编辑风格可以分为过程式和对象式。 过程式:是以指令为中心且数据服务于指令。 对象式:是以数据为中心且指令服务于数据。 shell基本编程概念和环境: She…

    2018-04-16
  • 在VMware上安装CentOS 6 教程

    一、下载并安装虚拟机软件VMware Workstation 14 下载地址: https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html 下载完成后,从网上搜一个注册码来安装注册 二、下载CentOS 6.9安装镜像 下载地址: http://mirrors…

    2018-03-29