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
| |