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 修改了重定向至文件

[root@bogon ~]# cat -n pp.txt
root:x:::root:/root:/bin/bash
#bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
#adm:x:::adm:/var/adm:/sbin/nologin
lp:x:::lp:/var/spool/lpd:/sbin/nologin
sync:x:::sync:/sbin:/bin/sync
#shutdown:x:::shutdown:/sbin:/sbin/shutdown
halt:x:::halt:/sbin:/sbin/halt
mail:x:::mail:/var/spool/mail:/sbin/nologin
operator:x:::#operator:/root:/sbin/nologin
games:x:::games:/usr/games:/sbin/nologin
ftp:x:::FTP User:/var/ftp:/sbin/nologin
nobody:x:::Nobody:/:/sbin/nologin
avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
dbus:x:::System message bus:/:/sbin/nologin
polkitd:x:::User for polkitd:/:/sbin/nologin
abrt:x::::/etc/abrt:/sbin/nologin
sssd:x:::User for sssd:/:/sbin/nologin
colord:x:::User for colord:/var/lib/colord:/sbin/nologin
ntp:x::::/etc/ntp:/sbin/nologin

sed '2p' pp.txt

[root@bogon ~]# sed '2p' pp.txt
root:x:::root:/root:/bin/bash
#bin:x:::bin:/bin:/sbin/nologin
#bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
#adm:x:::adm:/var/adm:/sbin/nologin
lp:x:::lp:/var/spool/lpd:/sbin/nologin
sync:x:::sync:/sbin:/bin/sync
#shutdown:x:::shutdown:/sbin:/sbin/shutdown
halt:x:::halt:/sbin:/sbin/halt
mail:x:::mail:/var/spool/mail:/sbin/nologin
operator:x:::#operator:/root:/sbin/nologin
games:x:::games:/usr/games:/sbin/nologin
ftp:x:::FTP User:/var/ftp:/sbin/nologin
nobody:x:::Nobody:/:/sbin/nologin
avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
dbus:x:::System message bus:/:/sbin/nologin
polkitd:x:::User for polkitd:/:/sbin/nologin
abrt:x::::/etc/abrt:/sbin/nologin
sssd:x:::User for sssd:/:/sbin/nologin
colord:x:::User for colord:/var/lib/colord:/sbin/nologin
ntp:x::::/etc/ntp:/sbin/nologin

sed -n '2p' pp.txt

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

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

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

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

[root@bogon ~]# grep -n '.*' pp.txt|sed  -n '5,$p'
:lp:x:::lp:/var/spool/lpd:/sbin/nologin
:sync:x:::sync:/sbin:/bin/sync
:#shutdown:x:::shutdown:/sbin:/sbin/shutdown
:halt:x:::halt:/sbin:/sbin/halt
:mail:x:::mail:/var/spool/mail:/sbin/nologin
:operator:x:::#operator:/root:/sbin/nologin
:games:x:::games:/usr/games:/sbin/nologin
:ftp:x:::FTP User:/var/ftp:/sbin/nologin
:nobody:x:::Nobody:/:/sbin/nologin
:avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
:dbus:x:::System message bus:/:/sbin/nologin
:polkitd:x:::User for polkitd:/:/sbin/nologin
:abrt:x::::/etc/abrt:/sbin/nologin
:sssd:x:::User for sssd:/:/sbin/nologin
:colord:x:::User for colord:/var/lib/colord:/sbin/nologin
:ntp:x::::/etc/ntp:/sbin/nologin

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

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

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

[root@bogon ~]# grep '.*' -n pp.txt |sed -e '/root/p' -e '/ftp/p' -n
:root:x:::root:/root:/bin/bash
:operator:x:::#operator:/root:/sbin/nologin
:ftp:x:::FTP User:/var/ftp:/sbin/nologin
[root@bogon ~]# cat .txt
php
php js
js
python
[root@bogon ~]# sed -e '/php/p' -e '/js/p' -n .txt
php
php js
php js
js
[root@bogon ~]# sed -e '/php/p' -e '/js/p' .txt
php
php
php js
php js
php js
js
js
python
[root@bogon ~]# sed '/php/p;/js/p' .txt -n
php
php js
php js
js

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

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

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

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

[root@bogon ~]# cat .txt 

123php456
123456js
123456php
[root@bogon ~]# sed 's/php/python/' .txt 123python456
123456js
123456python
[root@bogon ~]# sed '1,3s/php/python/' .txt 123python456
123456js
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

[root@bogon ~]# cat .txt 

123php456
123456js
123456pHp [root@bogon ~]# sed 's/[a-z]/\u&/' .txt 123Php456
123456Js
123456PHp
[root@bogon ~]# sed 's/[a-z]/\u&/g' .txt 123PHP456
123456JS
123456PHP
[root@bogon ~]# sed 's/[A-Z]/\l&/g' .txt 123php456
123456js
123456php

字符串位置替换

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

最新文章

  1. 阿里云windows 2012服务器部署java web程序教程
  2. Android驱动开发前的准备
  3. 第五章 运输层(UDP和TCP三次握手,四次挥手分析)
  4. Redis配置文件(redis.conf)说明
  5. PHP iconv函数字符串转码导致截断问题
  6. java类型转化之Hbase ImmutableBytesWritable类型转String
  7. tornado解析http body的过程分析
  8. 一步一步学android控件(之十五) —— DegitalClock & AnalogClock
  9. 用dubbo+zookeeper+spring搭建一个简单的http接口程序
  10. Android各代码层获取系统时间的方法
  11. HTTP Status 400 - Required request part 'file' is not present
  12. php 中 php-fpm 的重启、终止操作命令
  13. Python CGI编程(转自易百)
  14. 阅读MDN文档之层叠与继承(二)
  15. Deepin Linux系统的日常使用总结(日常施工)
  16. 51Nod - 1046 (附关于快速幂的讨论)
  17. blinker语音控制Arduino/esp8266开关灯-滑动条使用-文本框交互
  18. 使用Merge存储引擎实现MySQL分表
  19. ps可选颜色
  20. openldap quick start guide

热门文章

  1. [WPF+Prism]WPF个人集成平台
  2. 初试Orchard Core CMS
  3. echarts的散点图
  4. linux应用之wget命令详解
  5. MySQL乱码问题及字符集实战
  6. 使用ZooKeeper实现Java跨JVM的分布式锁(读写锁)
  7. 【spark】持久化
  8. 【2018年全国多校算法寒假训练营练习比赛(第四场)- E】通知小弟(强连通缩点)
  9. Selenium-xapth定位
  10. Fiddler工作原理与代理设置