sed这个工具比grep复杂一点,功能比grep复杂一点

功能也能指定匹配的行,不能颜色显示

sed 基础功能

[root@wangshaojun ~]# sed -n '10'p 1.txt
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

不加-n 第十行出现两遍 p打印的意思

可以指定范围

1到10行

[root@wangshaojun ~]# sed -n '1,10'p 1.txt

....

共10行

从25行到结尾

[root@wangshaojun ~]# sed -n '25,$'p 1.txt

....$

匹配指定关键词root的行

[root@wangshaojun ~]# sed -n '/root/'p 1.txt
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

和egrep的意思一样

一个字符

[root@wangshaojun ~]# sed -n '/r.o/'p 1.txt

.....

0个或多个r

[root@wangshaojun ~]# sed -n '/r*o/'p 1.txt

.....

0个或1个r

[root@wangshaojun ~]# sed -n '/r\?o/'p 1.txt

......

1个或多个r

[root@wangshaojun ~]# sed -n '/r\+o/'p 1.txt

.....

包含root或者nologin的行

[root@wangshaojun ~]# sed -n '/root\|nologin/'p 1.txt

......

匹配1个或多个oo

[root@wangshaojun ~]# sed -n '/\(oo\)\+/'p 1.txt == sed -n -r '/(oo)=/' 1.txt

....

匹配数字开头的行

[root@wangshaojun ~]# sed -r -n '/^[0-9]/'p 1.txt

....

匹配包含数字的

[root@wangshaojun ~]# sed -r -n '/[0-9]/'p 1.txt

....

匹配空行

[root@wangshaojun ~]# sed -r -n '/^$/'p 1.txt

.....

////////////////////////////////////////////////////////////////////////////////////

sed比grep多的功能

不显示空格行

[root@wangshaojun ~]# sed '/^$/'d 1.txt

......

不显示包含数字的行

[root@wangshaojun ~]# sed '/[0-9]/'d 1.txt

(空行)

#$%%^&#@!!?????>>><<:"}{

不显示包含字母的行

[root@wangshaojun ~]# sed '/[a-zA-Z]/'d 1.txt

(空行)

#$%%^&#@!!?????>>><<:"}{
112234556754576543

不显示1到25行

[root@wangshaojun ~]# sed '1,25'd 1.txt

.....$

删除选项

-i

[root@wangshaojun ~]# wc -l 1.txt
31 1.txt
[root@wangshaojun ~]# sed -i '1,29'd 1.txt
[root@wangshaojun ~]# wc -l 1.txt
2 1.txt

///////////////////////////////////////////////////////////////////////////////////////////////

总结:sed和grep的参数基本一样  选项-r去脱意符号 -n只显示指定 -i删除 p打印 d不显示的

shell入门-sed-1的更多相关文章

  1. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  2. linux shell 入门

    本文是本人学习linux shell入门收集整理,不完全原创. 参考博文: http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html ...

  3. shell 入门学习

    目录 shell 入门学习 注释 执行与启动 变量 语法 调试 title: shell 入门学习 date: 2019/7/16 15:47:49 toc: true --- shell 入门学习 ...

  4. [shell基础]——sed命令

    关于sed sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓 ...

  5. Linux shell入门基础(八)

    八.shell脚本sed&awk 01.sed的使用 流编辑器-Steam Editor #ed /etc/passwd 1,10p …… 1s/root/byf/p(替换root为byf) ...

  6. Linux shell入门基础(一)

    Linux shell入门基础(一): 01.增加删除用户: #useradd byf   userdel byf(主目录未删除)  userdel -r byf   该用户的属性:usermod 用 ...

  7. Shell - 简明Shell入门

    本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令 ...

  8. Linux shell利用sed如何批量更改文件名详解[转载]

     需求背景: 目录A用来存放自动化的包生成的apk文件,现在开发修改了包名的 命名规则:环境名称(pro|uat)-release-日期-v版本号.apk 原来的是思路是通过正则表达式匹配新的包名,但 ...

  9. shell中sed的简单使用

    sed命令行格式为:         sed [-nefri]  ‘command’  输入文本/文件        常用选项:        -n∶取消默认的输出,使用安静(silent)模式.在一 ...

  10. Shell入门02

    Shell入门-02 1.重定向 标准输入(<) 标准输出 标准错误重回定向 程序 = 指令 + 数据 命令   变量 在程序中,数据如何输入?又如何输出? 数据输入:键盘 – 标准输入,但是并 ...

随机推荐

  1. activiti--6-------------------------------------连线(一般数据库表的查询顺序)

    一.流程图 二.这次把流程图和Java类放在一个包下 三.代码 package com.xingshang.f_sequenceFlow; import java.io.InputStream; im ...

  2. C#自己写的第一个小程序,庆祝一下

    Packages.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; na ...

  3. 解压tar包中的指定文件

    解压<a 'tar');"="" href="http://asmboy001.blog.51cto.com/'#\'"" targe ...

  4. LeetCode:存在重复元素【217】

    LeetCode:存在重复元素[217] 题目描述 给定一个整数数组,判断是否存在重复元素. 如果任何值在数组中出现至少两次,函数返回 true.如果数组中每个元素都不相同,则返回 false. 示例 ...

  5. JDK线程池的实现

    线程池 接口Executor 该接口只有一个方法,JDK解释如下 执行已提交的Runnable 任务的对象.此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节.调度等)分离开来的方 ...

  6. 高性能javascript学习总结(2)--DOM编程

    我们知道,对DOM的操作都是非常的耗性能的,那么为什么会耗性能呢?      文档对象模型(DOM)是一个独立于语言的,使用 XML和 HTML 文档操作的应用程序接口(API).在浏览器中,主要与 ...

  7. composer 更新国内镜像地址

    composer config -g repo.packagist composer https://packagist.phpcomposer.com​

  8. iOS Code Signing: 解惑详解

    iPhone开发的代码签名 代码签名确保代码的真实以及明确识别代码的来源.在代码运行在一个开发系统以前,以及在代码提交到Apple发布以前,Apple要求所有的的应用程序都必须进行数字签名.另外,Ap ...

  9. Eclipse输入命令行参数

    想要在Eclipse中输入命令行参数,可以在目录中该程序上右键,选择“Run As",选择”Run configurations",如图: 然后输入命令行参数: 点击Apply和R ...

  10. Luogu-3705 [SDOI2017]新生舞会

    分数规划,最大费用最大流 题意可以简化为给出一个矩阵,要求每行和每列必须且只能取一个格子,要求\(sigma\ a_{i,j}/sigma\ b_{i,j}\) 最大 考虑分数规划,可以将式子转化: ...