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_

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. Hibernate -- 配置c3p0连接池, 事务隔离级别, 管理session

    知识点1:配置c3p0连接池(了解) * 引入c3p0-0.9.1.jar * 在hibernate.cfg.xml文件中增加如下配置 <!-- C3P0连接池设定--> <!-- ...

  2. 使用IDEA将代码托管到GitHub步骤和错误解决

    一.下载并安装Git版本控制工具 下载地址:https://git-scm.com/downloads 注册GitHub账号:https://github.com/ 为什么托管到GitHub要下载Gi ...

  3. Memcached 连接

    我们可以通过 telnet 命令并指定主机ip和端口来连接 Memcached 服务. 语法 telnet HOST PORT 命令中的 HOST 和 PORT 为运行 Memcached 服务的 I ...

  4. viewport简介

    Viewport的用处:手机拥有了浏览器的初期,人们并没有专门为移动设备设计页面,造成的直接结果就是,访问的页面是直接将电脑页面进行缩放,操作起来有诸多不便,viewport就是用来解决这个问题的 1 ...

  5. UnsupportedOperationException

    java不支持该功能,多见于, Arrays.asList() ,然后使用remove和add方法.     因为asarraylist的集合是一个转化来的集合,它的大小是固定的.不能进行长度修改. ...

  6. poj3181 背包+大数

    http://poj.org/problem?id=3181 Dollar Dayz Time Limit: 1000MS   Memory Limit: 65536K Total Submissio ...

  7. OSI七层模型及应用

    应用层:提供访问网络服务的接口.例如telnet. 表示层:提供数据格式转化服务.例如压缩和解压缩. 会话层:提供回话实体的连接服务,进行访问验证和会话管理.例如服务器验证用户登录和断点续传. 传输层 ...

  8. 来自lombok的注解(解决idea中的找不到get,set方法,找不到log的问题)

    今天看代码,发现idea报错,仔细一看调用的get,set方法bean中都没有,但是运行起来却没有问题,这个让我很疑惑.后来发现在类上有一个以前没见过的注解@Data,大概就是因为有他的原因.这个注解 ...

  9. 011-对象——interface接口说明与使用方式实例

    <?php /** interface接口说明与使用方式实例 * * 接口里面的方法全是抽象方法,没有实体的方法.这样的类我们就叫做接口.定义的时候用Interface定义.实现接口时用impl ...

  10. Struts03---参数传递

    package cn.bdqn.bean; /** * *用户的实体类 */ public class User { private String name; private String passw ...