忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
123下一页
最近访问板块 发新帖
查看: 1436 | 回复: 26

[文本处理] 有点小疑惑 [复制链接]

论坛徽章:
0
发表于 2017-06-04 18:40 |显示全部楼层
本帖最后由 aaaa_123 于 2017-06-04 18:46 编辑

有某些不可打印不可见字符
请用复制粘贴到本地文本中可见测试

1
2
a
aw


j


o

p
w

nbnbnbn

y??w
050589

njs

!ee@h/tmailcoi
y??rQjw
050589
otnjssj

k'\\


Sd


我用了下面这个,不知道我这写法那不对  并没有得到正确需求

perl  -lne 'print unless /.+[^[:print:]].+/' log
删除不可打印不可见字符行
应该要得到
aw
nbnbnbn


必须用到
[^[:print:]]


但语言不限

谢谢






论坛徽章:
0
发表于 2017-06-05 15:20 来自手机 |显示全部楼层
难道都觉得写法没问题?

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2017-06-05 22:40 |显示全部楼层
如何没有人回复,多半是描述有问题。

论坛徽章:
0
发表于 2017-06-05 22:45 |显示全部楼层
回复 3# blackold

描述应该没问题吧,将那些含有不可印字符行删掉

论坛徽章:
0
发表于 2017-06-05 22:51 来自手机 |显示全部楼层
只要匹配到[^[:print:]]就删掉该行,这样说不知道明白没

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2017-06-05 22:57 |显示全部楼层
  1. $ perl  -lne 'print unless /[^[:print:]]/' urfile | nl -ba
  2.      1  1
  3.      2  aw
  4.      3
  5.      4
  6.      5
  7.      6
  8.      7
  9.      8
  10.      9  nbnbnbn
  11.     10
  12.     11
  13.     12
  14.     13
复制代码

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2017-06-05 22:59 |显示全部楼层
输出正常的,space属于[:print:]。

论坛徽章:
0
发表于 2017-06-05 23:07 |显示全部楼层
回复 6# blackold

和主题那个没什么区别哦  难道是perl版本问题
is perl 5, version 22, subversion 2 (v5.22.2)

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
发表于 2017-06-05 23:12 |显示全部楼层
回复 8# aaaa_123

什么主题?

论坛徽章:
0
发表于 2017-06-05 23:17 |显示全部楼层
回复 6# blackold

perl  -lne 'print unless /[^[:print:]]/'执行没反应

在我这边要加上   可能是perl版本问题
perl  -lne 'print unless /.+[^[:print:]].+/'


但加上后仍然有些处理不了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP