casio1374633

导航

 

文秘的execl实在不敢恭维.那速度连我老妈都不如...

我心急如焚..说.这样把.你就用最简单的文本编辑器.列与列之间用tab搞定就可以了.只要你把文字打完就可以了.排版的事情我来搞定.

终于,一份文本打完了...是一份通讯录.
一共7栏.不过人员比较多.
"序号 日期 姓各 性别 生源来处 联系电话 备注"

但是后面的内容简直不敢说匹配.比如某列在备注方面东西较多.但是tab乱按.还有回车.还好保证了每个有效的行头是序号.

拿到这么一份表格确实开始有点头痛.不过想通过shell来搞定.于是进行了下面的做法.

首先把所有的tab用tr替换成了+号.所有的回车符号替换成了$号.接着用tr把+号变成'\n'.经过uniq以后再用反向grep删除所有的空行.这样就可以保证每个列都是紧挨着的了.接着把'\n'变成+号.

这个时候就变成了一个没有分行的文本了.接着用'\n' 替换$符号.就搞定了.哈哈~~

命令如下:
cat test.txt | tr '\t' '+' | tr '\r' '$' | grep '^[0-9]' > test_01
cat test01 | tr '+' '\n' | uniq -u | grep -v '^$' | tr '\n' '+' | tr '$' '\n' > test02
cat test02| tr '+' '\f' > test_final

posted on 2013-04-27 20:25  casio1374633  阅读(196)  评论(0编辑  收藏  举报