标题: [文本处理] [已解决]批处理怎么删除同一行的重复字符? [打印本页]
作者: 每天几分 时间: 2012-11-16 21:56 标题: [已解决]批处理怎么删除同一行的重复字符?
特殊符号打不出来,例子如图:
把同一行的重复字符删除(尤其是特殊字符),所有重复保留一个就可以了。
作者: tmplinshi 时间: 2012-11-17 08:33
本帖最后由 tmplinshi 于 2012-11-17 09:18 编辑
- onigsed.exe -R "s/(.)(?=.*?\1)//g" a.txt
复制代码
onigsed 下载地址: http://bathome.net/thread-20202-1-1.html?1353112459
==================================- perl -pe "s/\G$1//g while (/(.).*(?=\1)/g)" a.txt
复制代码
perl5.6 (242 KB) 下载地址: http://ishare.iask.sina.com.cn/f/14534556.html
==================================
gawk "BEGIN{FS=\"\"}{delete _;for(i=1;i<=NF;i++){if(!_[$i]++) printf $i};print\"\"}" a.txt
注:以上三个代码来自 http://stackoverflow.com/questions/2582940/how-do-i-remove-duplicate-characters-and-keep-the-unique-one-only-in-perl
作者: 每天几分 时间: 2012-11-17 09:09
回复 2# tmplinshi
好像不起作用,给出文本你测试吧……
作者: tmplinshi 时间: 2012-11-17 09:16
回复 3# 每天几分 - onigsed.exe --ctype=UTF8 -R "s/(.)(?=.*?\1)//g" a.txt >new.txt
复制代码
作者: tmplinshi 时间: 2012-11-17 11:01
回复 tmplinshi
好像不起作用,给出文本你测试吧……
每天几分 发表于 2012-11-17 09:09
- gawk -W ctype=UTF8 "BEGIN{FS=\"\"}{delete _;for(i=1;i<=NF;i++){if(!_[$i]++) printf $i};print\"\"}" a.txt >new.txt
复制代码
gawk 下载地址: http://bathome.net/thread-20203-1-1.html
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |