Linux sed 命令是利用脚本来处理文本文件,sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等
当处理数据时,Sed 从输入源一次读入一行,并将它保存到所谓的模式空间pattern space中。所有Sed 的变换都发生在模式空间。变换都是由命令行上或外部 Sed 脚本文件提供的单字母命令来描述的。大多数 Sed 命令都可以由一个地址或一个地址范围作为前导来限制它们的作用范围。
基本用法:
sed [选项] [sed内置命令字符] [输入文件]
选项参数:
内置命令字符:
示例:
//查看passwd文件的第5到第8行内容
sed -n '5,8 p' passwd
//查看passwd文件中以roo开头的行
sed -n '/^roo/ p' passwd
//忽略大小写,对含有root字符的行打印出来
sed -n '/root/ p' passwd
//查找passwd文件中有/bin/bash字符串的行
sed -n '\%/bin/bash% p' passwd
//将 /data/passwd 第 2~5 行删除打印输出
sed '2,5 d' passwd |head
//passwd第1前追加huawei
sed '1 i huawei ' passwd
//passwd第三行替换为redhat
sed '3 c redhat' passwd
//删除原文件第1行
sed -i '1 d' passwd
//将文件中的my 替换成his
sed -i 's/My/His/g' zcy.txt
//替换所有I为His,并替换qq号为666666
sed -e 's/I/His/g' -e 's/543325433/666666/g' zcy.txt
//在第二行内容后面添加一行内容
sed '2 a His java is good' zcy.txt -i
//在某一行前面插入内容
sed '4 i Your hadoop is good' zcy.txt
//替换root 为 zcy
sed 's/root/zcy/' pwd2.txt