sed命令

对每行处理,文本替换

1.替换:s命令

sed  ‘s/jcdd/ganji/g’ file ;把文件file中出现jcdd的换出ganji.

g标志在整行范围内把jcdd都替换为ganji。如果没有g标记,则只有每行第一个匹配的jcdd被替换成ganji。g换出Ng代表第N处开始出现的替换  

 

sed  -n ‘s/^jcdd/ganji/p’ file;  (-n)选项和p标志一起使用表示只打印那些发生替换的行,如果某一行开头的jcdd被替换成ganji,就打印它。  

 

 sed 's/^192.168.0.1/&localhost/' file  ;&符号表示替换换字符串中被找到的部份。所有以192.168.0.1开头的行都会被替换成它自已加 localhost,变成192.168.0.1localhost。

  

sed  -i‘s/jcdd/ganji/g’ file ; -i选项可以使替换后的文件保存更新

 

2.删除:d命令

sed ‘/^$/d’ file;移除空白行,空白行用^$匹配

sed  ‘2d’ file; 删除第二行

sed  ‘2,$d’ file;删除第二行到尾行之间的所有行

sed  ‘/jcdd/’d file;删除包含jcdd的行

 

3.查询

sed  -n  ‘/jcdd/p’ file; 显示包含jcdd的所有行

 sed  -n  ‘/jcdd/!p’ file; 显示不包含jcdd的所有行.

 用for和sed命令赋值到某个变量:

@echo off
for /f %%i in ('echo 这是jcdd示例^|sed -n "/jcdd/p"') do (set x=%%i)
echo %x%
pause

4.增加一行

sed ‘1a drink tea’ file; 第一行后增加字符串drink tea.

Sed  ‘1,3a  drink  tea ‘ file; 第一行到第三行后加字符串

 
---------------------
作者:坚持到底cw
来源:CSDN
原文:https://blog.csdn.net/chenwei825825/article/details/26230675
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/liuzhaoyzz/p/10300816.html