对每行处理,文本替换
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
版权声明:本文为博主原创文章,转载请附上博文链接!