日期:2014-05-16  浏览次数:21271 次

如何将sed 文本插入命令的结果保存到文件中
a.用两个不同的命令实现如下功能:将input文件中/ou的字符串修改为(ou),并且在/OU的匹配行后追加“we find/OU!”字符串.并将结果保存到输出文件 output 中。

前两部的命令是成功:

sed 's/\/OU/ou/g' input | sed '/ou/a\we find \/OU!'
//尝试保存命令,但是结果错误的命令如下

sed 's/\/OU/ou/g' input | sed '/ou/a\we find \/OU!/w output'
//输出结果将/w output做为文字穿插入到输出文件中了

请问这个命令中如何将输出文件保存到output中。
shell sed

------解决方案--------------------
sed 's/a/b/g' input 
------解决方案--------------------
 sed 's/b/a/' > output

------解决方案--------------------
sed 's/\/OU/ou/g' input 
------解决方案--------------------
 sed '/ou/a\we find \/OU!' > output

------解决方案--------------------
拆开试试

sed -e 's/\/OU/ou/g' -e '/ou/a\we find \/OU!' input
------解决方案--------------------
 sed -n 'w output'
------解决方案--------------------
不太会用,不过给你推荐几篇文章,作个参考:
sed命令例解
sed单行命令大全

linux中的sed与awk命令,学好用好了,是两个得力的好工具。瑞士军刀,呵呵。