sed修改文件的问题
时间:2011-03-09
来源:互联网
eg:我现在要处理一个文件a.txt ,其中的格式是:
a adsadsd
b sdsdsds
c sdsssddffd
如果 a.txt 文件中,存在一行以“e”开头的行,则对a.txt 不做任何处理
反之,添加一行以“e” 开头的行,位置不定, e后面的内容固定
sed处理以后内同如下:
a adsadsd
b sdsdsds
c sdsssddffd
e sddsadd
ps:只需要处理一个文件,awk,grep 不考虑,谢谢各位先~
作者: howge 发布时间: 2011-03-09
添加的话 添加在最后一行吧
作者: ziyunfei 发布时间: 2011-03-09
可以,在哪都没关系
作者: howge 发布时间: 2011-03-09
grep ^e ufile|| sed -i '$a\ e adfdf' ufile
作者: wtuter 发布时间: 2011-03-09
a adsadsd
b sdsdsds
c sdsssddffd
如果 a.txt 文件 ...
howge 发表于 2011-03-09 12:01
if ! grep "^e " a.txt >> /dev/null ; then echo "e sddsadd" >> a.txt; fi
作者: jason680 发布时间: 2011-03-09
try:
- sed '/^e/h;${G;/\ne.*$/s///;t;s//\ne foo/}' urfile
作者: blackold 发布时间: 2011-03-09
谢黑哥,为啥我一直想着label呢? 对sed不熟悉
作者: howge 发布时间: 2011-03-09
想着label?
作者: blackold 发布时间: 2011-03-09
刚试了下,貌似不行啊
作者: howge 发布时间: 2011-03-09
作者: howge 发布时间: 2011-03-09
刚试了下,貌似不行啊
howge 发表于 2011-03-09 13:34
sed '/^e/h;${G;/\ne.*$/s///;t;s/\n/\ne foo/}'
作者: ziyunfei 发布时间: 2011-03-09
貌似成功了
作者: howge 发布时间: 2011-03-09
回复 ziyunfei
反复测试了下,还是有问题

作者: howge 发布时间: 2011-03-09
sed '/^[^e]/h;${/^e/b};$a e foo'
作者: yinyuemi 发布时间: 2011-03-09
反复测试了下,还是有问题
howge 发表于 2011-03-09 13:53
你改成^a能对吗
作者: ziyunfei 发布时间: 2011-03-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28