1.Sed简介

    流数据编辑器 Stream editer(sed),它是一种行编辑器(对应于全屏编辑器),一次处理一行的内容。默认不编辑原文件内容(-i会直接修改原文件)。处理时,它先将当前符合模式的行存储在临时缓冲区内,处理完之后,把缓冲区的内容送往屏幕打印出来.

2.命令格式

sed  [option] 'AddressCommand'  file....

Address

    起始行,结束行; 1,50                                     sed '1,10d' /etc/fstab

起始行,+N行;                                            sed '1,+3d' /etc/fstab

/正则表达式/ ;  /^root/                                sed '/UUID/d' /etc/fstab

/模式1/,/模式2/;第一次被模式1匹配到的行到第二次被模式2匹配到的所有行

行号;指定要处理的行,$表示最后一行                 sed '$d' /etc/fstab

Command

   d;删除符合条件的行

p;显示符合条件的行                                                                        sed '^UUID/p'   /etc/fstab

a  \String; 在符合条件的行后追加String新行                                        sed '^UUID/a \#comment'  /etc/fstab

i   \String;在符合条件的行前添加String新行

r   FILENAME;将指定的文件的内容添加至符合条件的行后(合并文件)            sed '$r /etc/passwd'  /etc/fstab

w  FILENAME;将符合条件范围内的内容另存到指定的文件中                      sed '/^UUID/w /tmp/333.txt' /etc/fstab

s   /模式/String/;查找每行中第一次符合条件的内容并替换成String,分割符可以用#,@等,%s表示全文搜索

sed 's/^UUID/uuid/'  /etc/fstab                                                     sed 's/-/#/'  /etc/fstab

修饰符   g全局替换,i忽略大小写                                                       sed 's/-/#/g' /etc/fstab

option

    常见的一些选项

-n  静默模式

-i   直接修改源文件

-e   addresscommand -e addresscommand  同时执行多个命令

-f    /scriptfile 用脚本文件对文件进行处理

-r   使用扩展正则表达式

3. 例子

1.删除history行首的所有空格        history | sed 's/^[[:space:]]*//g'

2.通过脚本添加参数中的用户,参数中的用户用逗号分隔

addusersh user1,user2,user3

#!/bin/bash

for l in `echo $1 | sed 's/,/ /g'`;do

if id $l &> /dev/null;then

echo "$l exists"

else

useradd $l

echo $l | passwd --stdin $l &> /dev/null

echo "$l added"

fi

done

Sed命令学习的更多相关文章

  1. linux sed命令学习

    . Sed简介 . 定址 . Sed命令 . 选项 . 元字符集 . 实例 . 脚本 . 小技巧 . Sed简介 sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中, ...

  2. 每日linux命令学习-sed

    Linux的文本处理实用工具主要由sed和awk命令,二者虽然略有差异,但都使用正则表达式,默认使用标准I/O,并且使用管道命令可以将前一个命令的输出作为下一个命令的输入.笔者将在本节学习sed命令. ...

  3. Linux命令学习-sed

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

  4. Shell学习:sed命令

    http://blog.sina.com.cn/s/blog_a56ef5490101cn58.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行 ...

  5. Linux命令学习计划【sed】

    引言: Sed命令是linux里用于文本行处理的命令. 为了便于说明,我在/usr/dict下创建了字典words并以此作为演示模板 先用nl 打印下words内容: *打印篇: Q1:如何打印某一行 ...

  6. Linux学习之sed命令详解

    概述 sed是stream editor的简称,也就是流编辑器.它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区 ...

  7. Linux学习sed命令

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

  8. linux命令学习之:sed

    sed:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器.能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上 ...

  9. sed命令教程

    转载自:http://coolshell.cn/articles/9104.htmlawk于1977年出生,今年36岁本命年,sed比awk大2-3岁,awk就像林妹妹,sed就是宝玉哥哥了.所以 林 ...

随机推荐

  1. HTTPS 服务器搭建

    利用NGINX搭建HTTPS服务器不是一件困难的事情,过程包括以下几步 第一步:利用OpenSSL制作证书 第二步:安装NGINX,configure中保证加入ngx_http_ssl_module. ...

  2. C语言+ODBC+SQL 操作(向SQL里面添加数据)

    为了节省时间,我就引用上一节的数据库的表和C语言的结构体数组,在结构体数组中添加数据,清空数据库数据. 第一步查询:SQLBindParameter函数的用法. SQLRETURN SQLBindPa ...

  3. 性能测试工具--SIEGE安装及使用简介

    官方网站http://www.joedog.org/ 概述 Siege是一个多线程http负载测试和基准测试工具.它有3种操作模式: 1) Regression (when invoked by bo ...

  4. 有关mysql数据库的编码

    今天在通过表单给php提交数据,然后插入到数据库中.网页与php的编码格式均为utf-8,在插入到数据库中时也设置了$this->query("set names utf8;" ...

  5. AudioServicesPlaySystemSound音频服务—b

    对于简单的.无混音音频,AVAudio ToolBox框架提供了一个简单的C语言风格的音频服务.你可以使用AudioservicesPlaySystemSound函数来播放简单的声音.要遵守以下几个规 ...

  6. Swift—Cocoa Touch设计模式-备

    目标(Target)与动作(Action)是iOS和OS X应用开发的中事件处理机制.   问题提出 如图所示是一个ButtonLabelSample案例设计原型图,其中包含一个标签和一个按钮,当点击 ...

  7. 编译TWRP-recovery教程及源码地址

    TWRP这个是一个老外的开源项目,全称Team-Win-Recovery-Project Source:https://github.com/TeamWin/Team-Win-Recovery-Pro ...

  8. owncloud乱码问题

    没有人回答那我就献丑了,废话有点多,请跳着看. 先说结论:最后我选择了 Seafile 我去年之前用box同步个人文件,前几个月的时候吧,发现box不能上传几百M的文件,我才知道之前为什么会丢文件了… ...

  9. 安卓u8800刷机

    一篇非常好的帖子:http://bbs.anzhi.com/thread-5113728-1-1.html 虽然不是什么大神,不过在两个QQ群里和这里解答过N多刷机和ROOT中遇到的问题了...而且伸 ...

  10. 【转】24. android dialog ——ProgressDialog 进度条对话框详解

    原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog ...