Chinaunix
标题:
如何用awk或sed实现多文件指定内容插入???
[打印本页]
作者:
tank064
时间:
2013-01-04 11:57
标题:
如何用awk或sed实现多文件指定内容插入???
本帖最后由 tank064 于 2013-01-04 15:17 编辑
设有文件 file file1
两个文件的基本内容大体相同,只有一些配置不一样,如:
file:
*******
<config>
para1 key1
para2 key2
para3 key3
</config>
*******
file1:
******
<config>
para1 kk1
para2 kk2
para3 kk3
</config>
******
先要实现file内容如下或者屏幕输出如下:
file:
******
<config>
para1 key1
para2 key2
para3 key3
</config>
<config>
para1 kk1
para2 kk2
para3 kk3
</config>
******
用sed,或awk 如何实现?(ps: 星号表示上下文略去)
作者:
kernel69
时间:
2013-01-04 15:21
perl -lne 'print if m#<config>#..m#</config>#' file file1
复制代码
回复
1#
tank064
作者:
tank064
时间:
2013-01-04 16:05
回复
2#
kernel69
....这是perl的哦(我不懂..),,, 有木有sed,awk版本的么...
作者:
kernel69
时间:
2013-01-04 17:19
能用否?
回复
3#
tank064
作者:
tank064
时间:
2013-01-04 17:26
可以用
回复
4#
kernel69
作者:
kernel69
时间:
2013-01-04 17:56
sed
sed -n '/<config>/,/<\/config>/p'
复制代码
回复
5#
tank064
作者:
tank064
时间:
2013-01-04 18:13
这个不行吧...
回复
6#
kernel69
作者:
kernel69
时间:
2013-01-04 22:20
有报错?还是怎么样?
回复
7#
tank064
作者:
tank064
时间:
2013-01-05 11:48
本帖最后由 tank064 于 2013-01-05 11:50 编辑
有个问题,这样会把<config>前面的行,</config>面的行都丢掉,
能在这个基础上 ,把<config>前面 </config>后面的行都保留下来呢
回复
8#
kernel69
作者:
kernel69
时间:
2013-01-05 12:00
没看明白……
回复
9#
tank064
作者:
tank064
时间:
2013-01-05 12:18
本帖最后由 tank064 于 2013-01-05 12:19 编辑
[benny@qycn ~]$ cat config.xml.91wan
<VERSION value="1.3.0" />
<SITES>
test5
</SITES>
<SITES>
test6
</SITES>
<SITES>
test7
</SITES>
<SITES>
test8
</SITES>
<SITES>
test9
</SITES>
<sounds source="">
[benny@qycn ~]$ cat config.xml.6711
<VERSION value="1.3.0" />
<SITES>
test1
</SITES>
<SITES>
test2
</SITES>
<SITES>
test3
</SITES>
<SITES>
test4
</SITES>
<sounds source="">
复制代码
最后整成一个:
<VERSION value="1.3.0" />
<SITES>
test1
</SITES>
<SITES>
test2
</SITES>
<SITES>
test3
</SITES>
<SITES>
test4
</SITES>
<SITES>
test5
</SITES>
<SITES>
test6
</SITES>
<SITES>
test7
</SITES>
<SITES>
test8
</SITES>
<SITES>
test9
</SITES>
<sounds source="">
复制代码
该如何弄呢?
回复
10#
kernel69
作者:
moperyblue
时间:
2016-10-06 23:26
sed '1{x;s#.*#sed "/config/{:a;N;/<\\//!ba;b};d" file1#e;x};/<\/config>/G' file
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2