求助,正则,急

benjamin82 2014-08-01 01:59:41
例:
12345
67890
1234567890
123
4567890
如何能把上面数据转换成
1234567890
1234567890
1234567890

需求是把不是90结尾的\n删除,一定是90,多字符的
看网上写法都是sed 's/(?!90)\n//g'
为什么我调试不好用???
...全文
295 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔跑的路 2014-08-25
  • 打赏
  • 举报
回复
如果那些数字写在a.txt里面,可以试试: sed ‘N;s/\n//g’ a.txt 前提是你这些数字里面没有空格
奔跑的路 2014-08-25
  • 打赏
  • 举报
回复
小弟表示对楼上sed和awk看的眼花缭乱的,如果那些数字写在a.txt里面,可以试试: sed ‘N;s/\n//g’ 前提是你这些数字里面没有空格
奔跑的路 2014-08-25
  • 打赏
  • 举报
回复
小弟表示对楼上sed和awk看的眼花缭乱的,如果那些数字写在a.txt里面,可以试试: sed ‘N;s/\n//g’ 前提是你这些数字里面没有空格
cqlhj 2014-08-24
  • 打赏
  • 举报
回复
觉得用sed的多行命令也不麻烦
sed -e '/^/{:loop /90$/!{N;b loop};s/\n//g}' test.txt > t2.txt
colddown 2014-08-02
  • 打赏
  • 举报
回复
如果要用sed实现也行,就是有点蛋疼 sed -n 's/90$/90/; t output; H; d; :output; H; s/.*//; x; s/\n//g; p;'
colddown 2014-08-02
  • 打赏
  • 举报
回复
如果要用sed实现也行,就是有点蛋疼。 sed -n 's/90$/90/; t output; H; d; :output; H; s/.*//; x; s/\n//g; p;'
mymtom 2014-08-01
  • 打赏
  • 举报
回复
sed 的 缺省是BRE, BRE是不支持断言的,而且POSIX ERE和GNU ERE也不支持断言。 试试AWK吧 awk '{if($0~/90$/){print}else{printf("%s",$0)}}'

23,187

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧