sed, a Streamlined Editor.

原创 2004年09月20日 10:23:00

preface:Sed is a streamlined noninteractive editor.It can edit a file or data, and it just modify the output, but not modify the originally files.

Format of sed: $sed 'command' filename.

Command Functions:

a:Appends one or more lines of text to the current line.

c:Changes (replaces) text in the current line with new text.

d:Deletes lines.

e:more than one command.

i:Inserts text above the current line.

h:Copies the contents of the pattern space to a holding buffer.

H:Appends the contents of the pattern space to a holding buffer.

g:Gets what is  in the holding buffer and copies it into the pattern buffer, overwriting what was there.

G:Gets what is in the holding buffer and copies it into the pattern buffer, appending to what was there.

l:Lists nonprinting characters.

p:Prints lines.

n:Reads the next input line and starts processing the newline with the next command rather than the first command.

s:Substitutes one string for another.

q:Quits or exits sed.rReads lines from a file.

!:Applies the command to all lines except the selected ones.

Substitution Flags:

            g:Globally substitutes on a line.

            p:Prints lines.

            w:Writes lines out to a file.

            x:Exchanges contents of the holding buffer with the pattern space.

            y:Translates one character to another (cannot use regular expression metacharacters with y).

1)$sed '1,3p' myfile

   it will prints all lines of your file.

2)$sed -n '1,3p' myfile

   it will prints 1-3 lines of the file.

3)$sed '1,3d' myfile

   it will deletes the lines from 1 to 3 of your file.

4)$sed '/Tom/d' datafile

   it will deletes the line contains /Tom/ pattern.

5)$sed '/Tom/!d' datafile

   it will deletes the line dont contains /Tom/ pattern.

6)$sed 's/12345//g datafile

   it will change the 12345 to space of nothing with the goalble range.

7)$sed '3,$d' datafile

8)$sed -e '1,3d' -e 's/Hemenway/Jones/' datafile

9)$ sed '/Suan/r newfile' datafile

   ps: r means read newfile.

10)$sed '/Lewis/{s/Lewis/Joseph/;q;}' datafile


在前面都已经知道了d、p、-n、s///g等的用法。 --------------------------------------------------- sed中,a命令是指在匹配的位置后面插...
  • imzoer
  • imzoer
  • 2013年04月07日 13:25
  • 11504

sed 的使用(二) -- a/, i/, c/ 追加,插入和删除

sed 的追加,插入和删除 追加[line-address]a/ text插入[line-address]i/ text更改[line-address]c/ text 这些命令都要求后面跟一个/用于转...
  • yazi0127
  • yazi0127
  • 2009年02月18日 20:59
  • 6249


$ cat file aa 88 bb 88 88 cc 88 88 #替换第一个88为-- sed ':a;N;$!ba;s/88/--/' file sed ':a;N;$!ba;s/88/--...
  • woshibianhe
  • woshibianhe
  • 2012年03月03日 16:38
  • 2710

linux mac下使用sed a\追加文本

由于mac系统是原生于bsd系,sed命令和gnu不同,如果想用sed实现在某一行插入一行文本。 gnu sed: sed "$line a\\(多加一个\,防止后面的$value被转义)$val...
  • cbbbc
  • cbbbc
  • 2016年01月07日 11:17
  • 3212

sed之:a;N;$!ba预读入全部内容至pattern space

123 232 313 321 [要求] 截取第一个2和最后一个2之间的内容: 3 232 313 3 即截取两个关键字之间的部分 sed ':a;N;$!ba;s/[^2]...
  • woshibianhe
  • woshibianhe
  • 2012年02月26日 16:20
  • 1251

解析sed -n '/^AAAA/{:a;N;${s/\(.*BBBB[^\n]*\).*/\1/p};Ta}'

个人理解,求真相。 先来看看这个命令吧  sed -n '/^AAAA/{:a;N;${s/\(.*BBBB[^\n]*\).*/\1/p};Ta}' a.txt 他实现的结果是 查找一个文件中 A...
  • apache0554
  • apache0554
  • 2015年01月24日 14:30
  • 13680


dn: identifier=1 objectClass: ZcValidRecord DsId: 2 identifier:2955 subOptionName: Record SvcId...
  • woshibianhe
  • woshibianhe
  • 2012年02月26日 16:44
  • 2173

sed之h;H和:a;N;ba使用精解(对段落进行操作) 【转】

文章出处:sed之h;H和:a;N;ba使用精解(对段落进行操作) 1) 文本: Handle 0x0058, DMI type 20, 19 bytes Memory Device...
  • woshizhangliang999
  • woshizhangliang999
  • 2016年11月28日 16:56
  • 450


iOS10使用已有证书和描述文件真机升级 iOS10 后原来已经有证书的项目真机也跑不起来了,报如下错误:`Signing for "XXXX" requires a development team...
  • rigel_xu
  • rigel_xu
  • 2016年09月18日 15:16
  • 8593


关于用法在这里 全文如下 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存...
  • a130098300
  • a130098300
  • 2017年02月07日 17:08
  • 2098
您举报文章:sed, a Streamlined Editor.