Chinaunix
标题:
如何使用sed在同一个文件中添加 #### 注释符
[打印本页]
作者:
erpbank
时间:
2010-01-21 20:48
标题:
如何使用sed在同一个文件中添加 #### 注释符
如何使用sed在同一个文件中添加 #### 注释符
现在一个叫 1.txt的文件,如下:
[root@erpbank tmp]# more 1.txt
login au /usr/end/log
lsf df /u01/oracle/app
使用sed命令希望实现
### login au /usr/end/log
lsf df /u01/oracle/app
第一行添加注释符
当我输入
sed -n 's/login au \/\usr\/\end\/\log/####&/p w 1.txt' 1.txt 之后
1.txt内容只有1行了 余下的行都已经没有了
请问如何解决 谢谢
作者:
wtuter
时间:
2010-01-21 20:53
标题:
回复 #1 erpbank 的帖子
sed -i '1s/^/####/g' 1.txt
作者:
nigelrax
时间:
2010-01-21 21:06
-n 与 p同时用的时候 只打印指定行
作者:
erpbank
时间:
2010-01-21 22:04
原帖由
wtuter
于 2010-1-21 20:53 发表
sed -i '1s/^/####/g' 1.txt
这个针对第一行的匹配
如果1.txt文件 第一行和第二行是空行 就不行了
作者:
Shell_HAT
时间:
2010-01-21 22:13
标题:
回复 #4 erpbank 的帖子
也就是说,你想给第一个非空的行添加注释?
作者:
Shell_HAT
时间:
2010-01-21 22:17
按照你顶楼代码的思路:
sed -i 's/login au \/\usr\/\end\/\log/####&/' urfile
复制代码
作者:
wtuter
时间:
2010-01-21 22:28
标题:
回复 #4 erpbank 的帖子
awk '!/^$/{sub(/^/,"####",$0);print $0;exit}'
作者:
erpbank
时间:
2010-01-21 23:03
谢谢大家!
作者:
nxlinux
时间:
2010-01-21 23:42
awk原来也可以用^$判断空行阿,学习了
作者:
abobo1986
时间:
2010-01-22 10:28
sed -i '1,/./ s/\(.\)/####\1/' 1.txt
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2