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

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

    • sed -e 4a\testfour text  

    #在test文件第四行的下一行插入testfour

    [oracle@aaaserver ~]$ sed -e 4a\testfour test

    one
    two
    three
    four
    testfour
    five
    six

    [oracle@aaaserver ~]$ sed '3a testthree' test

    one
    two
    three
    testthree
    four
    five
    six

    • sed -e 4i\testfour test

    #在test文件第四行的上一行插入testfour

    [oracle@aaaserver ~]$ sed -e 4i\testfour test

    one
    two
    three
    testfour
    four
    five
    six

$表示文本的最后一行,a表示增加,在test文件的最后一行写入 over:(-i表示直接写入文本,慎用)

sed -i  '$a  over'   test

[root@joe ~]# sed -i '$a over' test

[root@joe ~]# more test
1
2
3
4
5
6
over

  • nl /etc/passwd

#列出行号显示/etc/passwd的内容

[oracle@aaaserver ~]$ nl /etc/passwd

1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin

  • nl  etc/passwd |sed '3,7d'

#去除3到7行内容显示/etc/passwd

[oracle@aaaserver ~]$ nl /etc/passwd |sed '3,7d'

1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin

  • nl installActions2019-02-19_05-36-24PM.log |sed '5,$d'

#将第5行至最后一行去除后显示

[oracle@aaaserver logs]$ nl installActions2019-02-19_05-36-24PM.log |sed '5,$d'

1 INFO: Using paramFile: /u02/software/database/install/oraparam.ini
2 INFO: 
3 INFO: 
4 INFO: Checking Temp space: must be greater than 120 MB. Actual 267035 MB Passed

  • sed '3c testthree'

#将第三行替换位testthree

[oracle@aaaserver ~]$ sed '3c testthree' test 

one
two
testthree
four
five
six

nl test |sed -n '3,6p'

#仅显示3到6行的内容

[oracle@aaaserver ~]$ nl test |sed -n '3,6p'

3 three
4 four
5 five
6 six

nl alert_aaaserver.log|sed -n '/rror/p'

#只显示xx文件中带有rror字符的行[

oracle@aaaserver trace]$ nl alert_aaaserver.log |sed -n '/rror/p'

4846 Fatal NI connect error 12170.
4853 Tns error struct:
4866 Fatal NI connect error 12170.
4873 Tns error struct:
4886 Fatal NI connect error 12170.
4893 Tns error struct:
4916 Fatal NI connect error 12170.
4923 Tns error struct:
4936 Fatal NI connect error 12170.
4943 Tns error struct:
4966 Fatal NI connect error 12170.
4973 Tns error struct:
5131 Fatal NI connect error 12170.
5138 Tns error struct:

[oracle@aaaserver trace]$ ifconfig|grep inet

inet 192.168.0.186 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::4ccb:d7a5:7e0c:9a34 prefixlen 64 scopeid 0x20<link>
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255

sed 's/要被取代的字串/新的字串/g'

[oracle@aaaserver trace]$ ifconfig|grep inet|sed -n 's/inet //p'

192.168.0.186 netmask 255.255.255.0 broadcast 192.168.0.255
127.0.0.1 netmask 255.0.0.0
192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255

[oracle@aaaserver trace]$ ifconfig|grep inet|sed -n -e 's/inet //p'|sed 's/netmask.*//'

192.168.0.186 
127.0.0.1 
192.168.122.1

 

sed -e 执行多个命令(或引号‘’内用分号;分开要执行命令),例:只显示test文件中包含two和six的行

[oracle@ctp ~]$ sed -n -e '/two/p' -e '/six/p' test

two
six

[oracle@ctp ~]$ sed -n '/two/p;/six/p' test

two
six

  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~

由於 $ 代表的是最后一行,而 a 的动作是新增,因此该文件最后新增 # This is a test

sed 的 -i 选项可以直接修改文件内容,

 

转载于:https://www.cnblogs.com/joeshang/p/10503223.html

你可能感兴趣的文章
20个强大的jQuery翻书插件【 jQuery flipbook】
查看>>
19、SQL Server 数据修改之Insert into
查看>>
重命名branch
查看>>
漫谈iOS程序的证书和签名机制
查看>>
展开字符串
查看>>
大数据 --> 大数据关键技术
查看>>
mysql view
查看>>
hadoop超租约报错:
查看>>
spring mvc重定向问题
查看>>
Android生命周期
查看>>
Eclipse 00: 安装教程 + 汉化 + 简单创建java项目
查看>>
题解【bzoj2733 [HNOI2012]永无乡】
查看>>
bitmap学习
查看>>
如何在Windows上搭建Android开发环境
查看>>
mysql函数操作-增加自定义函数
查看>>
Ubuntu 16.04安装Matlab 2016b教程
查看>>
sort大法好———自定义的注意事项!!!!!!
查看>>
指针遍历vector向量
查看>>
hdoj_2066一个人的旅行
查看>>
IOC基础
查看>>