[root@service99 Sed]# echo "Line one" > line.txt
[root@service99 Sed]# sed 'i "Inster line"' line.txt "Inster line"
Line one
[root@service99 Sed]# cat line.txt
Line one
[root@service99 Sed]# sed -i 'i Inster line' line.txt
[root@service99 Sed]# cat line.txt
Inster line
Line one
如果数据流有多行,而现在需要给最后一行添加数据,则可以:
[root@service99 Sed]# cat line.txt
Inster line
Line one
[root@service99 Sed]# sed '$a last line' line.txt
Inster line
Line one
last line
现在进行一个操作,个给文件第一行后面添加多行文本:
[root@service99 Sed]# cat test.info DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=192.168.2.99
PREFIX=24
[root@service99 Sed]# sed '1a \
This is add line 1.\
This is add line 2.\
This is add line 3.' test.info
//输出结果,没有添加-i选项所以并没有对原文修改
DEVICE=eth1
This is add line 1.
This is add line 2.
This is add line 3.
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=192.168.2.99
PREFIX=24
//还可以在第二行之前插入,即使用‘i’
更改行
更改行命令允许更改数据流中整行文本的内容。
[root@service99 Sed]# cat line.txt
This is line 1.
This is line 2.
This is line 3.
This is line 4.
[root@service99 Sed]# sed '3c This is change line 3.' line.txt
This is line 1.
This is line 2.
This is change line 3.
This is line 4.
在这里有一个特别的情况,需要说明一下:在更改命令中,可以使用地址范围,但其结果可能不是预期的效果。
[root@service99 Sed]# sed '2,3c \
> This 2,3 change line .' \
> line.txt
This is line 1.
This 2,3 change line .
This is line 4.//sed编辑器没有用该文本更改两行,而是使用单一文本行替换了两行
[root@service99 Sed]# cat line.txt
This is line 1.
This is line 2.
This is line 3.
This is line 4.
[root@service99 Sed]# sed 'y/123/789/' line.txt
This is line 7.
This is line 8.
This is line 9.
This is line 4.
替换命令应用示例
sed -r's/^.(.*).$/\1/' sed_02_test.info //删除每一行内的第一个和最后一个字符
sed -r's/^..(.*)..$/\1/' sed_02_test.info //删除每一行内前两个字符和最后两个字符
sed -r'1s/^..(.*)..$/\1/' sed_02_test.info //删除第一行的前两个字符和最后两个字符
sed -r's/^(.).(.*).(.$)/\1\2\3/' sed_02_test.info //删除每一行内第二个字符和倒数第二个字符
sed -r's/^(.).(.*).(.)$/\1\2\3/' sed_02_test.info //同上,测试在进行“()”复制操作时,^$是否一定要放置在()内部,测试结果,是没有影响
sed -r's/(^.).(.*).(.$)/\1\2\3/' sed_02_test.info
//sed -r 's/(^.).(.)*.(.$)/\1\2\3/' sed_02_test.info //错误实现,该表达式只是复制其中一个字符,并不满足需求//可以使用s将旧的东西替换为空 s/old
sed的n指令(next)读取下一行
/*
sed命令执行时,会先进行读取数据的操作,当读取到数据后,就会按照指令进行对应的操作(比如p打印,d删除),而n指令需要进行的操作是要求sed直接去读取下一行的数据,这样论转下来,就会出现‘n;p’ 可以输出偶数行,‘p:n’可以输出奇数行
即好比一个循环,n指令表示continue命令跳出循环
*/
sed -n'n;p' sed_test.info //输出偶数行
sed -n'n;d' sed_test.info //删除偶数行
sed -n'p;n' sed_test.info //输入奇数行
sed -n'$=' sed_test.info //显示最后一行的行号
sed '4,7s/^/#/' a.txt //4,7行添加注释
sed 's/^#anon/anon/' vsftpd.conf
sed 's/^#anon/anon/' /etc/vsftpd/vsftpd.conf
sed -n'/^DocumentRoot/p' /etc/httpd/conf/httpd.conf
sed -i'/^DocumentRoot/ s#".*"#"/opt/wwwroot"#' /etc/httpd/conf/httpd.conf
在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的(至少我认为)。 预 备 测试环境: AMD 毒龙1.4G OC 1.5G、256M DDR333、Windows2000 Server
Netty 3.x的user guide里FrameDecoder的例子,有几个疑问:
1.文档说:FrameDecoder calls decode method with an internally maintained cumulative buffer whenever new data is received.
为什么每次有新数据到达时,都会调用decode方法?
2.Dec
hive> select * from t_test where ds=20150323 limit 2;
OK
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
问题原因: hive堆内存默认为256M
这个问题的解决方法为:
修改/us
Simply do the following:
I. Declare a global variable:
var markersArray = [];
II. Define a function:
function clearOverlays() {
for (var i = 0; i < markersArray.length; i++ )
Quick sort is probably used more widely than any other. It is popular because it is not difficult to implement, works well for a variety of different kinds of input data, and is substantially faster t