大数据之Shell:Shell工具(sed)

Posted 浊酒南街

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据之Shell:Shell工具(sed)相关的知识,希望对你有一定的参考价值。


sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。

1. 基本用法

sed [选项参数] ‘command’ filename

2. 选项参数说明

选项参数功能
-e直接在指令列模式上进行sed的动作编辑(一次执行多个操作时)
-i直接编辑文件

3. 命令功能描述

命令功能描述
a新增,a的后面可以接字串,在下一行出现
d删除
s查找并替换

4. 案例实操

(0)数据准备

[jinghang@hadoop101 datas]$ touch sed.txt
[jinghang@hadoop101 datas]$ vim sed.txt
dong shen
guan zhen
wo  wo
lai  lai
le  le

(1)将“mei nv”这个单词插入到sed.txt第二行下,打印。

[jinghang@hadoop101 datas]$ sed '2a mei nv' sed.txt 
dong shen
guan zhen
mei nv
wo  wo
lai  lai
le  le
[jinghang@hadoop101 datas]$ cat sed.txt 
dong shen
guan zhen
wo  wo
lai  lai
le  le

注意:文件并没有改变
(2)删除sed.txt文件所有包含wo的行

[jinghang@hadoop101 datas]$ sed '/wo/d' sed.txt
dong shen
guan zhen
lai  lai
le  le

(3)将sed.txt文件中wo替换为ni

[jinghang@hadoop101 datas]$ sed 's/wo/ni/g' sed.txt 
dong shen
guan zhen
ni  ni
lai  lai
le  le

注意:‘g’表示global,全部替换
(4)将sed.txt文件中的第二行删除并将wo替换为ni

[jinghang@hadoop101 datas]$ sed -e '2d' -e 's/wo/ni/g' sed.txt 
dong shen
ni  ni
lai  lai
le  le

以上是关于大数据之Shell:Shell工具(sed)的主要内容,如果未能解决你的问题,请参考以下文章

初识shell文本处理工具之gawk-sed

shell编程之正则表达式sed工具

shell脚本之正则表达式---sed工具

Shell编程三剑客之sed

linux shell 之在线文本编辑sed

shell 编程四剑客简介 find sed grep awk(微信公众号摘抄)