Sed命令使用规则:
-n:打印定位的行数
例如:sed  -n ‘2p’  quote.txt(只打印第2行的内容)
sed  ‘2p’  quote.txt(会打印全部的文件内容)
指定范围:
Sed -n ‘1,3p’  quote.txt(打印1到3行的内容)

模式区配
sed -n ‘a’p quote.txt(打印包含a的行,如果有多行全部打印)
sed -n '1,/A/'p quote.txt  (在第一行查询A)
$:表示最后一行的意思
sed -n '/.*ing/'p quote.txt :(匹配任意思字符0次或多次并以ing结尾的行)
打印模式匹配的行号使用:/pattern/=
sed -e '/A/=' quote.txt (打印匹配A的行号,意为A在该文件的第几行,此命令输出的结果打印的是全部文件内容,和A的行号)
sed -n ‘/A/=’ quote.txt(只打印匹配A行的行号)
sed -n -e '/A/=' -e '/A/p' quote.txt (打印匹配A的行及行号使用2个连续的-e选项)
sed '1d' quote.txt (删除第1行)
sed '1,3d' quote.txt (删除第1到3行的内容)
sed '/Neave/d' quote.txt (删除包含/Neave/文本的行)
sed 's/a/A/' quote.txt (将a替换成A)
sed 's/a/A/g' quote.txt(/g表示全局替换)
sed s/a/A/w sed.out quote.txt (将小写a替换成A,并输出到sed.out文件中,将替换结果输出到一个文件用w选项)
sed '/A./r sedex.txt' quote.txt  (将文本sedex.txt文件中的内容附加到quote.txt文件中,,附加的位置放在匹配行A的下面)
sed '/.a.*/q' quote.txt (查询a首次出现的行,并退出)
sed 's/^0*/ /g' dos.txt (删除行首的0,^ 0 *表示行首任意个0,^表示模式从行首开始)
使用s / - * / / g删除横线- - - - - -。
使用/ ^ $ / d删除空行
使用$ d删除最后一行
使用1 d删除第一行
使用awk {print $1}打印第一列
sed 's/[0-9][0-9]*/& Passwd/g' ok.txt (在文件每一行的末尾添加Passwd)
r:命令是读命令。Sed使用该命令将一个文本文件中的内容加到当前文件的特定位置上
例如:sed  ‘/Suan/r  newfile’ datafile
如果在datafile文件的某一行匹配到模式Suan,就在该行后读入文件newfile的内容,如果出现Suan的不止一行,则在出现Suan的各行后都 读入newfile文件的内容
w:命令是写命令,sed使用该命令将当前文件中的一些行写到另一个文件中。
例如:sed -n ‘/north/w  newfile’ datafile
从datafile文件中读取包含north的行,并输出到newfile文件中

Sed的增删改查操作
添加(用a选项)
a:在第二行后添加(也就是在第3行添加)
cat -n passwd | sed '2a i am fine'
在第2行后增加两行,使用\n
nl passwd | sed '2a hell\nhow are you'
替换(用c选项)
nl passwd | sed '2,5c hahaha'(将2-5行替换成hahaha)
注意:sed 的-n选项与p一起使用才能输出指定的行
sed 's/ 要被取代的字符串 / 新的字符串 /g'
执行多条命令可以使用-e选项:
例如:nl passwd | sed -e '3,$d' -e 's/bash/hahaha/g'
删除(使用d选项)
nl passwd | sed '/root/d'(删除包含root的行)
nl passwd | sed -n '/root/{s/bash/blueshell/;p}'(查找包含root的行,并将该行中的bash替换成blueshell,并打印该行,-n可以输出该行的行号)
sed -i '$a bye' ab #在文件 ab 中最后一行直接输入 "bye"
10,4d' 只删除第 10 行,因为 sed 不能反方向工作
4,+5d' 这将匹配文件中的第 4 行,删除这一行之后,继续删除下一个五行,然后停止其删除操作并输出其他行
2,5!d' 这将删除除 2 到 5 行外的所有其他行。

sed 命令(1)的更多相关文章

  1. 文本处理三剑客之sed命令

    第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...

  2. linux shell 用sed命令在文本的行尾或行首添加字符

    转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed ...

  3. linux sed命令详解

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

  4. sed命令详解

    搜索 纠正错误  添加实例 sed 功能强大的流式文本编辑器 补充说明 sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时 ...

  5. Linux安全基础:sed命令的使用

    sed 是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作. Sed本质上是一个编辑器,但是它是非交互式的,这点与VIM不同:同时 ...

  6. [转]sed命令详解

    转载:http://blog.chinaunix.net/u/22677/showart_1076318.html   1.简介 sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保 ...

  7. sed命令

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed ...

  8. sed 命令使用

    ios 的sed 命令 跟linux  sed 命令有区别 # 所有的a 替换成b sed -i "" 's/a/b/g' #删除掉所有包含a的行 sed -i "/a/ ...

  9. sed命令给文本文件的每行的行首或者行尾添加文字

    在每行的头添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' test.file 在每行的行尾添加字符,比如“TAIL”,命令如下: sed 's/ ...

  10. Linux的sed命令

    一.初识sed 在部署openstack的过程中,会接触到大量的sed命令,比如 # Bind MySQL service to all network interfaces.sed -i 's/12 ...

随机推荐

  1. Vue3 学习-初识体验-helloworld

    在数据分析中有一个最重要的一环就是数据可视化, 数据报表的开发. 从我从业这几年的经历上看, 经历了从业务系统导表格数据, 到Excel+PPT, 再是开源报表工具, 再是主流商业BI产品(低/零代码 ...

  2. Vue知识沉淀

    为什么组件my-item的props是listCount,但传入时候用:list-count传入,而 listCount与list-count不一致 <!DOCTYPE html> < ...

  3. Python中的模块包

    dir0/dir1/dir2/mod.py,dir0必须在环境变量中,可以import dir1,import dir1.dir2.mod.但在python3.3之前,dir1和dir2下必须存放一个 ...

  4. 洛谷 P5048 [Ynoi2019 模拟赛] Yuno loves sqrt technology III

    洛谷 P5048 [Ynoi2019 模拟赛] Yuno loves sqrt technology III 题目描述 给你一个长为 n 的序列 a,m 次询问,每次查询一个区间的众数的出现次数,强制 ...

  5. IDEA terminal控制台配置git bash及中文乱码问题

    1.修改控制台shell路径:setting -> Tools -> Terminal -> Shell path,修改为git安装路径. 修改完毕,在控制台输入exit断开sess ...

  6. Mysql常用数据基本类型

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  7. 使用 SpringBoot 集成 WebService [不需要身份验证]

    一.使用 JDK 自带的工具生成实体类 # 格式 wsimport -s 保存路径 -p 包路径 -encoding utf-8 wsdl文件地址 # 实例 wsimport -s d:\wsdl - ...

  8. [书籍精读]《CSS世界》精读笔记分享

    写在前面 书籍介绍:本书从前端开发人员的需求出发,以"流"为线索,从结构.内容到美化装饰等方面,全面且深入地讲解前端开发人员必须了解和掌握的大量的CSS知识点.同时,作者结合多年的 ...

  9. 干货|三个维度详解 Taier 本地调试原理和实践

    在平时和开发者们交流的过程中,发现许多开发朋友尤其是新入门 Taier 的开发者,对于本地调试都有着诸多的不理解和问题.本文就大家平时问的最多的三个问题,服务编译,配置&本地运行,如何在 Ta ...

  10. Form 表单在数栈的应用(上): 校验篇

    ​ 一.引言 本文为主题即为 Form 表单在数栈的应用,旨在希望能通过一些在数栈已经应用的实例和笔者整理的小tips来帮助大家更深入的理解Form表单校验.以及联动校验的认知和做法. 本文的重点为 ...