sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据进行替换、删除、新增、选取等特定工作。

命令格式:

sed [OPTION]... {script-only-if-no-other-script} [input-file]...

常用选项:

-n, --quiet, --silent 取消自动打印空间

-e script, --expression=script 添加”脚本“到程序的运行列表

-f script-file, --file=script-file 添加”脚本文件“到程序的运行列表

--follow-symlinks 直接修改文件跟随软连接

-i[SUFFIX], --in-place[=SUFFIX] 直接修改文件[指定扩展名就备份文件]

--posix 关闭所有GNU扩展

-r, --regexp-extended 在脚本中扩展正则表达式

-s, --separate 将输入文件视为各个独立的文件而不是一个长的连续输入

-u, --unbuffered 从输入文件读取量少的数据,更频繁的刷新输出

--help 打印帮助并退出

--version 输出版本信息并退出

常用命令:

a 新增

c 取代

d 删除

i 插入

p 列印

s 取代

例子:

删除某行
[root@qingcheng-app3 lgp]# sed '1d' passwd //删除第一行
[root@qingcheng-app3 lgp]# sed '$d' passwd //删除最后一行
[root@qingcheng-app3 lgp]# sed '1,2d' passwd //删除第一行到第二行
[root@qingcheng-app3 lgp]# sed '3,$d' passwd //删除第三行到最后一行
显示某行
[root@qingcheng-app3 lgp]# sed -n '1p' passwd //显示第一行
[root@qingcheng-app3 lgp]# sed -n '$p' passwd //显示最后一行
[root@qingcheng-app3 lgp]# sed -n '1,2p' passwd //显示第一行到第二行
[root@qingcheng-app3 lgp]# sed -n '3,$p' passwd //显示第三行到最后一行
使用模式进行查询
[root@qingcheng-app3 lgp]# sed -n '/root/p' passwd //查询包括关键字ruby所在所有行
[root@qingcheng-app3 lgp]# sed -n '/\$/p' passwd //查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义
增加一行或多行字符串
[root@qingcheng-app3 lgp]# sed '1a test test test' passwd //第一行后增加字符串
root:x:0:0:root:/root:/bin/bash
test test test
[root@qingcheng-app3 lgp]# sed '1,3a test test test' passwd //第一行到第三行后都增加字符串
代替一行或多行
[root@qingcheng-app3 lgp]# sed '1c test' passwd //第一行代替为test
[root@qingcheng-app3 lgp]# sed '1,2c test' passwd //第一行到第三行代替为test
替换一行中的某一部分
[root@qingcheng-app3 lgp]# sed -n '/root/p' passwd|sed 's/root/test/g' //替换root为test
[root@qingcheng-app3 lgp]# sed -n '/root/p' passwd|sed 's/root//g' //删除root
插入
[root@qingcheng-app3 lgp]# sed -i '$a bye' passwd //在文件最后一行插入 ”bye"
删除匹配行
[root@qingcheng-app3 lgp]# sed -i '/root/d' passwd //删除root的行

sed常用操作命令的更多相关文章

  1. 【转载】Linux中常用操作命令

    说明:开始学习linux系统,为了方便查看,特转载一篇Linux中常用操作命令,转载地址:http://www.cnblogs.com/laov/p/3541414.html 正文: Linux简介及 ...

  2. Git常用操作命令与图解

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  3. 运维工作中sed常规操作命令梳理

    sed是一个流编辑器(stream editor),一个非交互式的行编辑器.它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间",接着用sed命令处理缓冲 ...

  4. svn 常用操作命令

    svn 常用操作命令 检出 svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 svn checkout svn://路径(目录或文件 ...

  5. MongoDB(1):常用操作命令大全

    MongoDB常用操作命令大全(转) http://www.jb51.net/article/48217.htm 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操 ...

  6. 文本处理sed常用操作

    文本处理sed常用操作 linux sed (stream editor) is a Unix utility that parses and transforms text, using a sim ...

  7. hadoop常用操作命令

    #############centos6.8IP常用操作命令#######################DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED ...

  8. [svc]sed&awk过滤行及sed常用例子

    - sed过滤行 sed '2p' sed '2,5p' sed '2p;3p;4p' - awk过滤行 awk 'NR==2' awk 'NR>=2 && NR <=3' ...

  9. 2018.4.23 git常用操作命令收集(转)

    Git常用操作命令收集: 1. 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v ...

随机推荐

  1. python修炼第四天

    今天换了师傅.江湖人称景女神^o^. 女师傅讲的比较细,原理的比较多.初学者来说有些难.但是基本功是必须要打牢的.努力! 迭代器 迭代器,迭代的工具1 什么是迭代,指的是一个重复的过程,每一次重复称为 ...

  2. docker开发实践

    一:docker的定义和使用场景: Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VM ...

  3. 正则表达式,grep,sed,

    答案详见:http://www.cnblogs.com/linhaifeng/p/6596660.html 作业一:整理正则表达式博客 ^ # 行首定位 $ # 行尾定位 . # 匹配除换行符以外的任 ...

  4. TLS通信过程

    TLS通信过程 握手与密钥协商过程 基于RSA握手和密钥交换的客户端验证服务器为示例详解TLS/SSL握手过程 sequenceDiagram client->>server: clien ...

  5. 【SoftwareTesting】Homework2

    For the Program1, For Question1: The fault is that in the loop condition, ' i ' should be not less t ...

  6. hadoop题目(一)

    一.简要描述如何安装配置一个开源hadoop,只描述即可,列出完整步骤. 答:①创建一个用户和用户组,用来管理hadoop项目:   ②修改确定IP地址:vim /etc/sysconfig/netw ...

  7. maven下载源码

    能下载到源代码的原则是仓库中打了resource的jar包 1.使用命令 mvn dependency:sources 下载依赖包的源代码. mvn dependency:sources -Ddown ...

  8. 使用Pretues仿真Arduino驱动步进电机

    这几天想做一个给金鱼自动喂食的装置,所以学习了下如何操控步进电机,现在做个记录. 使用Pretues仿真Arduino的话,可以参考:http://www.geek-workshop.com/thre ...

  9. 马凯军201771010116《面向对象与程序设计Java》

    实验十八  总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设 ...

  10. spring cloud config git库文件搜索顺序

    spring.cloud.config.server.git.uri只配置到仓库那一层就行了,需要访问仓库的子目录的话就配置spring.cloud.config.server.git.searchP ...