sed是一种在线编辑器,一次处理一行内容。把当前的行放到临时缓冲区中(模式空间),用sed命令处理缓冲区内容,完成后,把缓冲区内容送往屏幕,接着处理下一行,直到结束。
sed命令参数:
-I 直接写文件。如果不确定的情况,尽量不要使用。
例1:
sed -i "s/A/B" /xxx.txt //将xxx.txt文件的所有的A字符替换成B字符。
注:默认情况下只加s非常危险!因为可替换所有的行!最好加上行号!
例2:
sed -i "2s/^.*HOSTNAME.*$/HOSTNAME=dgrac1/" /etc/sysconfig/network //修改/etc/sysconfig/network文件。
2表示第二行
^表示文件字符串开头
.*表示匹配一个或多个字符
&表示字符串结尾
此命令是处理第二行中HOSTNAME所在字符串的整行替换成HOSTNAME=dgrac1。