免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wsgwz2004
打印 上一主题 下一主题

求救,超级变态的做法。 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2006-11-28 13:42 |只看该作者
楼主,你这想法真够牛,题目有问题,是第21列

论坛徽章:
0
32 [报告]
发表于 2006-11-28 13:45 |只看该作者
我还没明白,10F和14F说的是一个问题么?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
33 [报告]
发表于 2006-11-28 13:49 |只看该作者
  1. flw@Sleeper:~$ cat in.txt
  2. 1 1LXL XH1H 1H00 1 LL 1H 1H 1111L 111L HHHH 10 L
  3. 1 1LXL XH1H 1H00 1 LL 1H 1H 1111L 111L HHHH 10 L
  4. 1 1LXL XH1H 1H00 1 LL 1H 1H 1111L 111L HHHH 10 L
  5. 1 1LXL XH1H 1H00 1 LX 1H 1H 1111L 111L HHHH 10 L
  6. 1 1LXL XH1H 1H00 1 LH 1H 1H 1111L 111L HHHH 10 L
  7. 1 1LXL XH1H 1H00 1 LH 1H 1H 1111L 111L HHHH 10 L
  8. 1 1LXL XH1H 1H00 1 LH 1H 1H 1111L 111L HHHH 10 L
  9. flw@Sleeper:~$ perl -0e 'map{$a.="^(.{20})$_(.*?\\n)";$b.="\$".++$c."X\$".++$c}qw(L L X H H);$_=<>;eval"s/$a/$b/m";print' in.txt
  10. 1 1LXL XH1H 1H00 1 LL 1H 1H 1111L 111L HHHH 10 L
  11. 1 1LXL XH1H 1H00 1 LX 1H 1H 1111L 111L HHHH 10 L
  12. 1 1LXL XH1H 1H00 1 LX 1H 1H 1111L 111L HHHH 10 L
  13. 1 1LXL XH1H 1H00 1 LX 1H 1H 1111L 111L HHHH 10 L
  14. 1 1LXL XH1H 1H00 1 LX 1H 1H 1111L 111L HHHH 10 L
  15. 1 1LXL XH1H 1H00 1 LX 1H 1H 1111L 111L HHHH 10 L
  16. 1 1LXL XH1H 1H00 1 LH 1H 1H 1111L 111L HHHH 10 L
  17. flw@Sleeper:~$
复制代码

论坛徽章:
0
34 [报告]
发表于 2006-11-28 14:15 |只看该作者
原帖由 wolfkin 于 2006-11-28 13:15 发表
sed 最简单。
好好研究一下吧。


希望了解下如何用sed解出最简单的办法...

论坛徽章:
0
35 [报告]
发表于 2006-11-28 15:21 |只看该作者
牛,各个版本的都有,除了awk的能看明白,sed和perl写的看着直晕

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
36 [报告]
发表于 2006-11-28 15:38 |只看该作者
原帖由 jlus 于 2006-11-28 15:21 发表
牛,各个版本的都有,除了awk的能看明白,sed和perl写的看着直晕

我觉得 sed 的那个最好懂。

论坛徽章:
0
37 [报告]
发表于 2006-11-28 15:45 |只看该作者
原帖由 waker 于 2006-11-28 10:34 发表
[code]
cut -c21 file|tr -d '\n'|awk '{gsub(/LLXHH/,"XXXXX");a=$0}
END{while(getline <"file"){printf "%s%s%s\n",substr($0,1,20),substr(a,1,1),substr($0,22);a=subst ...



真糗,把getline当成都行数了,看来还是练习太少

论坛徽章:
0
38 [报告]
发表于 2006-11-28 15:49 |只看该作者
拿到windows下,随便用哪个编辑器对列进行操作

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
39 [报告]
发表于 2006-11-28 17:53 |只看该作者
原帖由 sam_8286 于 2006-11-28 15:49 发表
拿到windows下,随便用哪个编辑器对列进行操作


请问具体操作步骤,不会是移动光标然后修改吧。
我这儿现成有一个3736711行的文件需要处理,也要对列进行处理,楼上给推荐一个Window$下的利器吧

论坛徽章:
0
40 [报告]
发表于 2006-11-29 10:00 |只看该作者
20楼的不是已经做出来了吗?
sed通常用于一行内的正则表达式的匹配、替换。这个问题用sed根本就做不出来。
必须用awk才能解决(当然,C、C++、JAVA等)也能解决。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP