sed
是stream editor
的简称,它是一种在线编辑器,用于处理一行一行的数据。处理时,首先把待处理的文件内容送到临时缓冲区中,
称为”模式空间”,接着用sed
命令处理缓冲区中的内容,处理完成后,把缓冲区中的内容送往屏幕,接着处理下一行,不断重复,直至文件末尾。
假设有文本文件text
,内容如下:
10 tiny toes
this is that
5 funny 0
one two three
tree twice
new newer
NEW
newer new
NEW new old
一. 基本用法:
- 将
text
文本中每行第一个小写字母t
替换为大写字母T
.
1 2 |
|
- 将
text
文本中每行所有的小写字母t
替换为大写字母T
.
1 2 3 |
|
二、与正则表达式结合
- 如果一行中第一个字符是
t
,就将它替换为T
,其他字符不变。
1
|
|
- 如果一行中最后一个字符是
t
,就将它替换为T
,其他字符不变。
1
|
|
- 将所有的数字/小写字母、大写字母、所有的字母替换为
*
。
1 2 3 4 |
|
三、同时替换多个字符串
1 2 3 |
|
四、删除最后一个字符串
1 2 3 4 |
|
五、只显示匹配行的结果
1 2 3 |
|
六、忽略大小写的替换
1 2 |
|
七、使用脚本文件,
1
|
|
其中的mysedscript
内容是:
s/T/t/g
s/e/E/g
s/\w*.//
八、只替换完整的一个单词,使用边界符
1
|
|
九、删除匹配行
1 2 3 |
|
十、 替换文件夹内所有文件内容
如果想要替换某个文件夹下所有文件中的某个字符串,该如何操作呢,此时可以使用sed
命令。例如,
替换example_folder
文件夹下所有文件中的字符串orig_str
,替换为dst_str
,此时可以使用sed
命令:
1
|
|