sed用法

Sed:在线编辑器,一次只处理一行内容

常用格式:sed  [-nefri]  [动作]

参数作用如下:

-n:使用安静模式,一般所有的STDIN数据都会被列出到终端上,加上-n之后,只有经过处理的行才会被列出来。

-e:直接在命令行进行sed编辑,不会改变文本内容。

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

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

动作:[m[,n]] function

mn不一定存在,一般代表的是进行操作的函数范围:例:1020[动作]表示在10-20行进行操作。

Function

a:新增,可以接字符串,这些字符会在下一行显示

c:取代,后面接字符串,这些字符串会取代mn行之间的内容

d:删除,删除这些行

i:插入,在后面接字符串会出现在上一行

p:打印,将某个选择的数据打印通常与sed -n一起运行

s:取代,直接取代,

例:

1. sed -e 1,3 s/old/new/gc.txt将所有适配的old都替换成new

sed用法

2. sed -e 1,3 s/old/new/c.txt 将行首适配的第一个old都替换成new

3. Sed -i s/^@//c.txt:去掉行首带@的字母

sed用法

4. Sed -i /asdf/i zhangtaoc.txt:在asdf的上一行插入一行字符串

sed用法

5. Sed -i /asdf/a zhangtaoc.txt:在asdf的下一行插入一行字符串

sed用法

6. Sed -i 2,5c.txt:删除25

sed用法

7. Sed -i 2,&dc.txt:删除2到最后一行

8. Sed -i &dc.txt:删除最后一行

sed用法