怎样替换一行的最后几个字符和换行符为空?
时间:2011-05-30
来源:互联网
- >cat a.log
- a abc
- b abc
- c
- abc
- d abc
- e abc
-
- 希望输出:
-
- >cat a.log
- a b c
- d e
有没有其它的方法 ?
作者: ljt2k 发布时间: 2011-05-30
sed ':a;/abc/{N;s/abc\n//g;ta}'
作者: wtuter 发布时间: 2011-05-30
- awk '1' RS="abc\n" ORS=
作者: yinyuemi 发布时间: 2011-05-30
awk '/abc$/{sub(/abc$/,"");printf $0;next}1' file
作者: ywlscpl 发布时间: 2011-05-30
作者: louis_ly 发布时间: 2011-05-30
- >awk '1' RS="abc\n" ORS="" a.log
- bc
- b bc
- c
- bc
- d bc
操作系统版本:
>uname -a
AIX DRCBP2 3 5 00C1CBD54C00
作者: ljt2k 发布时间: 2011-05-30
sed ':a;/abc/{N;s/abc\n//g;ta}'
wtuter 发表于 2011-05-30 12:10
报错了:
- > sed ':a;/abc/{N;s/abc\n//g;ta}' a.log
- sed: 0602-417 The label :a;/abc/{N;s/abc\n//g;ta} is greater than eight characters.
>uname -a
AIX DRCBP2 3 5 00C1CBD54C00
作者: ljt2k 发布时间: 2011-05-30
louis_ly 发表于 2011-05-30 13:01
这个应该是不行的,因为sed本身就是按行的处理的;
sed有个N命令,是支持多行操作,但是好像是两行一次,所以要循环;
上面兄弟提供了一个循环的,但是执行报错了,你可以看给他的回复。
作者: ljt2k 发布时间: 2011-05-30
awk '/abc$/{sub(/abc$/,"");printf $0;next}1' file
ywlscpl 发表于 2011-05-30 12:43
多谢,这个可以,请教一下,最后那个1是什么作用?
作者: ljt2k 发布时间: 2011-05-30
1就是1{print},{print}这个默认的action可以省略写
作者: ywlscpl 发布时间: 2011-05-30
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28