轻松玩转sed

sed处理文本方法

1.文本或管道输入
2.读入一行到模式控件
3.sed命令处理
4.输出到屏幕
所以 sed是一个流处理编辑器

sed一次处理一行内容
sed不改变文件内容(可以通过重定向改变文件)

sed格式

sed命令行格式

sed [options] 'command' file(s)

sed脚本格式

sed -f scriptfile file(s)

options: -e; -n
command包含行定位(正则)sed命令

-n 一般和 p组合使用,用来输出
例如:

sed -n '/root/p' /etc/passwd

这段命令是打印行中包含root的那一行
这里 /root/ 就是通过正则进行的行定位,p为打印的命令


也可以通过这样进行行定位:

sed -n '1p' /etc/passwd

这段命令是打印第一行的意思
这个属于通过行号进行的行定位


还可以这样:

sed -n '1,10p' /etc/passwd

这段命令是打印1到10行的意思


还可以通过步长进行跳行输出

sed -n '1~2p' /etc/passwd

sed替换命令

s/正则/正则/
例如:

cat /etc/passwd |sed 's/:/@/'

将 passwd 文件中的 : 替换成 @
细心的话就会发现 每一行只替换了一个 @
如果每一行全部替换,就这样:

cat /etc/passwd |sed 's/:/@/g'

你可能感兴趣的:(linux)