程序员

Linux之sed文本处理命令

2016-07-17  本文已影响303人  AlicFeng

****sed简介****
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,sed只是对缓冲区中原始文件的副本进行编辑,并不是编辑原始的文件。除非你使用重定向存储输出或者使用使用sed编辑命令中的w选项。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作。


****sed命令参数****


不怎么喜欢理论行的东西,来来来,实践实践~~~
操作的文件为sedfile

$sed -e 3a\insertLine sedfile
sed '2a insert' sedfile #在第三行后添加 即第三行开始
sed '2i insert' sedfile #在第二行前添加 即第二行开始
Paste_Image.png
$sed -e '2,4d' sedfile #推荐
或者
$sed '2,4d' sedfile #没有-e也是可以的
#删除第二行
$sed '2d' sedfile
#要删除第 3 到最后一行
$sed '3,$d' sedfile
#注意 d表示删除然而 sed 后面接的是动作需要以单引号括起来
Paste_Image.png
$sed '2,5c 这是alic替换的content' sedfile #替换第二到第五行的内容
Paste_Image.png
$sed -n '2,4p' sedfile #显示第二到第四行
$sed -n '二p' sedfile #搜索与二相关的行
Paste_Image.png
$sed '/二/d' sedfile #搜索到二相关的行并删除
Paste_Image.png
$sed 's/alic/灿/g' sedfile #将alic替换成灿
Paste_Image.png
sed -e '3,4d' -e 's/alic/灿/g' sedfile #删除第三四行 而且同时将alic替换成灿
Paste_Image.png

Linux运维基础且常用命令
Linux之crontab定时任务
Linux之sed文本处理命令
Linux之ps进程查看命令
Linux之expect交互语言命令
Linux之tail命令


****价值源于技术,贡献源于分享****

上一篇下一篇

猜你喜欢

热点阅读