sed, a Streamlined Editor.

来源:互联网 发布:扎克伯格美国总统知乎 编辑:程序博客网 时间:2024/04/29 23:22

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

原创粉丝点击