sed -n 'num1p' file 选出行号为num1的行
sed -n 'num1,num2p' file 选出num1~num2行
sed -n 'num1,$p' file 选出num1行到文件末尾
grep -n '.*' file |sed 'num1p' -n 带行号的显示
sed  '/root/p' -n pp.txt 查找带root的行
/ /之间和grep 一样 有些正则 需加 -r 参数 类似 grep的 -E
-e 多个表达式 或的关系
sed -e '/pattern1/p' -e '/pattern2/p' -n
或者
sed '/pattern1/p;/pattern2/p' -n
sed '1,5d' 筛选除了1,5行的
cat -n pp.txt |sed -r '/mysql|root/d' 筛选出不含有 mysql或者 root的 行
sed 's/str1/str2/' file 在file里把 str1替换成str2 查找显示
sed 'num1,num2s/str1/str2/' file 在file的num1~num2把 str替换成str2
大小写转换
sed 's/[a-z]/\u&/g' 1.txt         u ->upper
sed 's/[A-Z]/\l&/g' 1.txt         l ->lower
-i 修改了重定向至文件

  1. [root@bogon ~]# cat -n pp.txt
  2. root:x:::root:/root:/bin/bash
  3. #bin:x:::bin:/bin:/sbin/nologin
  4. daemon:x:::daemon:/sbin:/sbin/nologin
  5. #adm:x:::adm:/var/adm:/sbin/nologin
  6. lp:x:::lp:/var/spool/lpd:/sbin/nologin
  7. sync:x:::sync:/sbin:/bin/sync
  8. #shutdown:x:::shutdown:/sbin:/sbin/shutdown
  9. halt:x:::halt:/sbin:/sbin/halt
  10. mail:x:::mail:/var/spool/mail:/sbin/nologin
  11. operator:x:::#operator:/root:/sbin/nologin
  12. games:x:::games:/usr/games:/sbin/nologin
  13. ftp:x:::FTP User:/var/ftp:/sbin/nologin
  14. nobody:x:::Nobody:/:/sbin/nologin
  15. avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
  16. dbus:x:::System message bus:/:/sbin/nologin
  17. polkitd:x:::User for polkitd:/:/sbin/nologin
  18. abrt:x::::/etc/abrt:/sbin/nologin
  19. sssd:x:::User for sssd:/:/sbin/nologin
  20. colord:x:::User for colord:/var/lib/colord:/sbin/nologin
  21. ntp:x::::/etc/ntp:/sbin/nologin

sed '2p' pp.txt

  1. [root@bogon ~]# sed '2p' pp.txt
  2. root:x:::root:/root:/bin/bash
  3. #bin:x:::bin:/bin:/sbin/nologin
  4. #bin:x:::bin:/bin:/sbin/nologin
  5. daemon:x:::daemon:/sbin:/sbin/nologin
  6. #adm:x:::adm:/var/adm:/sbin/nologin
  7. lp:x:::lp:/var/spool/lpd:/sbin/nologin
  8. sync:x:::sync:/sbin:/bin/sync
  9. #shutdown:x:::shutdown:/sbin:/sbin/shutdown
  10. halt:x:::halt:/sbin:/sbin/halt
  11. mail:x:::mail:/var/spool/mail:/sbin/nologin
  12. operator:x:::#operator:/root:/sbin/nologin
  13. games:x:::games:/usr/games:/sbin/nologin
  14. ftp:x:::FTP User:/var/ftp:/sbin/nologin
  15. nobody:x:::Nobody:/:/sbin/nologin
  16. avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
  17. dbus:x:::System message bus:/:/sbin/nologin
  18. polkitd:x:::User for polkitd:/:/sbin/nologin
  19. abrt:x::::/etc/abrt:/sbin/nologin
  20. sssd:x:::User for sssd:/:/sbin/nologin
  21. colord:x:::User for colord:/var/lib/colord:/sbin/nologin
  22. ntp:x::::/etc/ntp:/sbin/nologin

sed -n '2p' pp.txt

  1. [root@bogon ~]# sed -n '2p' pp.txt
  2. #bin:x:::bin:/bin:/sbin/nologin

sed不具有显示行号功能 配合grep
grep -n '.*' pp.txt |sed '2p' -n

  1. [root@bogon ~]# grep -n '.*' pp.txt |sed '2p' -n
  2. :#bin:x:::bin:/bin:/sbin/nologin
  3. [root@bogon ~]# grep -n '.*' pp.txt |sed '2,5p' -n
  4. :#bin:x:::bin:/bin:/sbin/nologin
  5. :daemon:x:::daemon:/sbin:/sbin/nologin
  6. :#adm:x:::adm:/var/adm:/sbin/nologin
  7. :lp:x:::lp:/var/spool/lpd:/sbin/nologin

grep -n '.*' pp.txt|sed  -n '5,$p'

  1. [root@bogon ~]# grep -n '.*' pp.txt|sed -n '5,$p'
  2. :lp:x:::lp:/var/spool/lpd:/sbin/nologin
  3. :sync:x:::sync:/sbin:/bin/sync
  4. :#shutdown:x:::shutdown:/sbin:/sbin/shutdown
  5. :halt:x:::halt:/sbin:/sbin/halt
  6. :mail:x:::mail:/var/spool/mail:/sbin/nologin
  7. :operator:x:::#operator:/root:/sbin/nologin
  8. :games:x:::games:/usr/games:/sbin/nologin
  9. :ftp:x:::FTP User:/var/ftp:/sbin/nologin
  10. :nobody:x:::Nobody:/:/sbin/nologin
  11. :avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
  12. :dbus:x:::System message bus:/:/sbin/nologin
  13. :polkitd:x:::User for polkitd:/:/sbin/nologin
  14. :abrt:x::::/etc/abrt:/sbin/nologin
  15. :sssd:x:::User for sssd:/:/sbin/nologin
  16. :colord:x:::User for colord:/var/lib/colord:/sbin/nologin
  17. :ntp:x::::/etc/ntp:/sbin/nologin

grep -n '.*' pp.txt |sed '/root/p' -n

  1. [root@bogon ~]# grep -n '.*' pp.txt |sed '/root/p' -n
  2. :root:x:::root:/root:/bin/bash
  3. :operator:x:::#operator:/root:/sbin/nologin
  1. [root@bogon ~]# cat .txt
  2. rt
  3. rot
  4. root
  5. ro t
  6. [root@bogon ~]# sed '/ro{1,}t/p' -n -E .txt
  7. rot
  8. root

查找含有 root或者ftp的行
grep '.*' -n pp.txt |sed -e '/root/p' -e '/ftp/p' -n

  1. [root@bogon ~]# grep '.*' -n pp.txt |sed -e '/root/p' -e '/ftp/p' -n
  2. :root:x:::root:/root:/bin/bash
  3. :operator:x:::#operator:/root:/sbin/nologin
  4. :ftp:x:::FTP User:/var/ftp:/sbin/nologin
  1. [root@bogon ~]# cat .txt
  2. php
  3. php js
  4. js
  5. python
  6. [root@bogon ~]# sed -e '/php/p' -e '/js/p' -n .txt
  7. php
  8. php js
  9. php js
  10. js
  11. [root@bogon ~]# sed -e '/php/p' -e '/js/p' .txt
  12. php
  13. php
  14. php js
  15. php js
  16. php js
  17. js
  18. js
  19. python
  20. [root@bogon ~]# sed '/php/p;/js/p' .txt -n
  21. php
  22. php js
  23. php js
  24. js

cat -n pp.txt |sed '1,5d'

  1. [root@bogon ~]# cat -n pp.txt |sed '1,5d'
  2. sync:x:::sync:/sbin:/bin/sync
  3. #shutdown:x:::shutdown:/sbin:/sbin/shutdown
  4. halt:x:::halt:/sbin:/sbin/halt
  5. mail:x:::mail:/var/spool/mail:/sbin/nologin
  6. operator:x:::#operator:/root:/sbin/nologin
  7. games:x:::games:/usr/games:/sbin/nologin
  8. ftp:x:::FTP User:/var/ftp:/sbin/nologin
  9. nobody:x:::Nobody:/:/sbin/nologin
  10. avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
  11. dbus:x:::System message bus:/:/sbin/nologin
  12. polkitd:x:::User for polkitd:/:/sbin/nologin
  13. abrt:x::::/etc/abrt:/sbin/nologin
  14. sssd:x:::User for sssd:/:/sbin/nologin
  15. colord:x:::User for colord:/var/lib/colord:/sbin/nologin
  16. ntp:x::::/etc/ntp:/sbin/nologin

不看#开头的注释
cat pp.txt |sed '/^#/d'

sed 's/php/python/' 1.txt
sed '1,3s/php/python/' 1.txt

  1. [root@bogon ~]# cat .txt
  2.  
  3. 123php456
  4. 123456js
  5. 123456php
  6. [root@bogon ~]# sed 's/php/python/' .txt
  7.  
  8. 123python456
  9. 123456js
  10. 123456python
  11. [root@bogon ~]# sed '1,3s/php/python/' .txt
  12.  
  13. 123python456
  14. 123456js
  15. 123456php

如果字符串里有/,可使用别的分隔符

/mnt/hgfs/ 替换为 /usr/local/nginx/html

sed 's#/mnt/hgfs/#/usr/local/nginx/html/#' www.conf>www.conf

大小写转换
小写转大写
sed 's/[a-z]/\u&/g' 1.txt
sed 's/[A-Z]/\l&/g' 1.txt

  1. [root@bogon ~]# cat .txt
  2.  
  3. 123php456
  4. 123456js
  5. 123456pHp
  6.  
  7. [root@bogon ~]# sed 's/[a-z]/\u&/' .txt
  8.  
  9. 123Php456
  10. 123456Js
  11. 123456PHp
  12. [root@bogon ~]# sed 's/[a-z]/\u&/g' .txt
  13.  
  14. 123PHP456
  15. 123456JS
  16. 123456PHP
  17. [root@bogon ~]# sed 's/[A-Z]/\l&/g' .txt
  18.  
  19. 123php456
  20. 123456js
  21. 123456php

字符串位置替换

  1. [root@bogon ~]# cat .txt
  2. a:b:c:d
  3. a1:b1:c1:d1
  4. a2:b2:c2:d2
  5. a_: :c:dddd
  6. [root@bogon ~]# sed -r 's/([^:]+)(:.*:)([^:]+$)/\3\2\1/' .txt
  7. d:b:c:a
  8. d1:b1:c1:a1
  9. d2:b2:c2:a2
  10. dddd: :c:a_

sed命令常见用法的更多相关文章

  1. Linux之sed命令常见用法

    1. sed(stream editor),流编辑器 linux中,主要中sed命令实现对文件的增删改替换查 名称 sed - 用于过滤和转换文本的流编辑器 SYNOPSIS sed [选项]... ...

  2. linux下shell脚本中sed命令的用法

    先来给一个案例: #将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中 sed "s/|/,/g" "old.sql"> te ...

  3. sed命令基本用法

    sed是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑sed 适用于以下三种场合:编辑相对交互式文本编辑器而言太大的文件编辑命令太复杂,在交互式文本编辑器中难以输入的情况对文本扫描一遍,但是 ...

  4. linux sed 命令的用法

    原文  http://blog.chinaunix.net/uid-24426415-id-77244.html ------------------------------------------- ...

  5. find命令常见用法

    1. find linux中,find命令一般用来按特定条件查找文件,生产环境中也常用其来过滤文件 名称 find - 搜索目录层次结构中的文件 格式 find [目录] {[选项] [参数]}... ...

  6. Java jar命令 常见用法

    一.jar命令作用: 进行打包 -- 把多个文件打包成一个压缩包 -- 这个压缩包和Winzip的压缩格式是一样的. 区别在于jar压缩的文件默认多一个META-INF的文件夹,该文件夹下包含一个Ma ...

  7. curl命令常见用法汇总 good

    curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面. curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服 ...

  8. sed命令常用用法

    1.字符串替换 sed -i "s/xxx/yyy/g" /home/test.log // 将home目录下的test.txt文件中的所有xxx字符串替换成yyy字符串 sed ...

  9. sort排序命令常见用法

    sort -n 按数字排序 [root@test88 ~]# cat test.txt 19036 6111 24039 3660 20610 10937 32408 20744 8248 28255 ...

随机推荐

  1. Spring + Spring MVC + MyBatis框架整合

    ---恢复内容开始--- 一.Maven Web项目创建 如有需要,请参考:使用maven创建web项目 二.Spring + Spring MVC + MyBatis整合 1.Maven引入需要的J ...

  2. selenium学习笔记(鼠标事件)

    昨天是简单的操作.之后是复杂的操作 首先是鼠标事件 AcationChains类  鼠标操作的常用方法: 右击 context_click() 双击 double_click() 拖动      dr ...

  3. 【spark】示例:求极值

    我们有这样的数据 1.建立SparkContext读取数据 (1)建立sc (2)通过sc.textFile()读取数据创建Rdd 2.过滤数据 通过filter(line => line.tr ...

  4. 理解java异常处理机制

    1. 引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单.听话. ...

  5. UICollectionView-网格视图

    1. UICollectionView 网格视图,除了提供与UITableView同样的功能显示一组顺序显示的数据,还支持多列的布局. 2. UICollectionView 使用 > 设置Co ...

  6. React typescript issue

    多个输入框发生变化时,setState: this.setState({[e.target.name]: e.target.value} as componentState)

  7. 剑指offer--23.合并两个排序的链表

    时间限制:1秒 空间限制:32768K 热度指数:421239 本题知识点: 链表 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. class ...

  8. Android的方法和属性(1)

    1.Activity常用的方法 View findViewById(int id) //根据组件的ID取得组件对象 setContentView(int layoutResID) //设置布局文件,设 ...

  9. Failed to export application

    打包Android项目,遇到Failed to export application的错误提示.如何处理呢 我当时是 在替换图标时   没有完全替换 只替换了 四张drawable_h图片,没有替换上 ...

  10. 绕过SQL限制的方法

    突然想我们是否可以用什么方法绕过SQL注入的限制呢?到网上考察了一下,提到的方法大多都是针对AND与“’”号和“=”号过滤的突破,虽然有点进步的地方,但还是有一些关键字没有绕过,由于我不常入侵网站所以 ...