sed也是一个管道命令。

sed [-nefr] [动作]

-n 加上-n参数后,只有经过sed特殊处理的那些行才会被列出来

-e 直接在命令行模式进行sed的动作编辑

-i  直接修改读取的文件内容,而不是由屏幕输出。

-f 直接将sed的动作写在一个文件内,-f filename则可以执行filename内的sed动作

-r sed的动作支持的是扩展型正则表达式的语法

动作说明:

[n1][,n2]function

n1,n2:不见得会存在,一般代表选择进行动作的行数

function的参数:

a: 新增,a的后面可以接字符串,这些字符串会出现在新一行。(目前行的下一行)

c: 替换,c的后面可以接字符串,这些字符串可以替换n1,n2之间的行

d: 删除

i: 插入,i的后面可以接字符串,这些字符串会出现在目前行的前一行

p: 打印,通常与sed -n一起使用

s: 可以部分替换,s动作可以搭配正则表达式。 如: 1,20s/old/new/g

以行为单位的新增/删除功能

nl /etc/passwd | sed '2,5d' 表示删除2~5行,本应该执行sed -e,但是没有-e也行。sed后的动作,必须用' '括起来。如果要删除第3到最后一行,则是 nl /etc/passwd | sed '3,$d',那个"$"代表最后一行

在第二行前增加行。

nl /etc/passwd | sed '2i drink tea?'

在第二行后增加行

nl /etc/passwd | sed '2a drink tea?'

以行为单位的替换与显示功能

nl /etc/passwd | sed '2,5c No 2~5 number'

nl /etc/passwd | sed -n '2,5p' 只显示2~5行

部分数据的查找并替换的功能

sed 's/要被替换的字符串/新的字符串/g',可以用空串替换用以删除

例如: /sbin/ifconfig wlan0 | grep 'inet addr'| sed 's/^.*addr://g'| sed 's/Bc.*//g'    可以提取出来ip地址

直接修改文件内容

将regular_express.txt内每一行结尾为'.'的换成'!'

sed -i 's/\.$/\!/g' regular_express.txt

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

  1. [转]sed常用命令总结

    转自:http://blog.chinaunix.net/uid-26963748-id-3249732.html 一.Sed简介 Sed:Stream Editor  流式编辑器 又称行编辑器,每次 ...

  2. sed 常用命令 网址

    https://wangchujiang.com/linux-command/c/sed.html https://linux.cn/article-11367-1.html https://juej ...

  3. 23、sed常用命令

    1.匹配与不匹配: n p ! sed -n '/ATTGC/p' file1                ##-n打印匹配到的行输出,默认所有行输出. sed -n '/AT\|GC/p' fil ...

  4. akw、grep、sed常用命令

    awk 求和 cat data|awk '{sum+=$1} END {print "Sum = ", sum}' 平均值 cat data|awk '{sum+=$1} END ...

  5. sed 常用命令

    删除以ifeq开头的行 sed -i "/^ifeq/d" file 删除空行 sed -i '/^$/d' file

  6. grep,awk和sed的常用命令和语法

    Grep的常用命令语法 1. 双引号引用和单引号引用在g r e p命令中输入字符串参数时,最好将其用双引号括起来.例如:“m y s t r i n g”.这样做有两个原因,一是以防被误解为 s h ...

  7. Linux常用命令之sed(2)

    Sed SED的英文全称是 Stream EDitor,它是一个简单而强大的文本解析转换工具,在1973-1974年期间由贝尔实验室的Lee E. McMahon开发,今天,它已经运行在所有的主流操作 ...

  8. shell常用命令归类整理

    shell 命令整理     bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#vers ...

  9. Liunx 常用命令

    Liunx 常用命令================================================================================ 1. 远程拷贝文件 ...

随机推荐

  1. [Erlang10]为什么热更新时,Shell执行2次l(Module)后会把原来用到Module的进程 kill?

    0. 问题引入: -module(hot_code_server). -compile(export_all). start() –> erlang:register(?MODULE, erla ...

  2. DATATable转为json

    public static string DataTableToJson(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder() ...

  3. Eclipase + CDT

    1. 参考 https://blog.csdn.net/imlsz/article/details/50441830 https://blog.csdn.net/happylife1527/artic ...

  4. 蛋疼的Action.c (141): undeclared identifier `LAST'异常

    之前这个脚本运行了很久都没有问题,今天突然在场景运行不了: Action.c (141): undeclared identifier `LAST' 害的老子一直在纠结,这个关联函数没有问题啊,怎么一 ...

  5. 选项卡tab2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Linux下iptables防火墙用法规则详解

    管理网络流量是系统管理员必需处理的最棘手工作之一,我们必需规定连接系统的用户满足防火墙的传入和传出要求,以最大限度保证系统免受×××.很多用户把 Linux 中的iptables当成一个防火墙,从严格 ...

  7. jquery源码解析:pushStack,end,ready,eq详解

    上一篇主要讲解了jQuery原型中最重要的方法init.接下来再讲一些比较常用的原型方法和属性 core_slice = [].slice, jQuery.fn = jQuery.prototype ...

  8. 动态渲染可编辑单元格的Table

    一.问题描述 问题是这样的,后台传了xArr = [x1, x2,...,xn]和yArr = [y1, y2, ..yn]两个数组,前端要渲染出表格并且可以填写每个单元格的值,然后按照一定数据结构保 ...

  9. typescript项目中import 图片时报错:TS2307: Cannot find module ‘...’

    最近在用typescript写项目时,我用import来加载一个图片,webpack编译文件是会报错如下: 报错: 解决: 如果在js中引入本地静态资源图片时使用import img from './ ...

  10. leetcode-819-Most Common Word(词频统计)

    题目描述: Given a paragraph and a list of banned words, return the most frequent word that is not in the ...