Board logo

标题: [文本处理] [已解决]批处理怎么删除同一行的重复字符? [打印本页]

作者: 每天几分    时间: 2012-11-16 21:56     标题: [已解决]批处理怎么删除同一行的重复字符?

特殊符号打不出来,例子如图:

把同一行的重复字符删除(尤其是特殊字符),所有重复保留一个就可以了。
作者: tmplinshi    时间: 2012-11-17 08:33

本帖最后由 tmplinshi 于 2012-11-17 09:18 编辑
  1. onigsed.exe -R "s/(.)(?=.*?\1)//g" a.txt
复制代码
onigsed 下载地址: http://bathome.net/thread-20202-1-1.html?1353112459

==================================
  1. 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# 每天几分
  1. onigsed.exe --ctype=UTF8 -R "s/(.)(?=.*?\1)//g" a.txt >new.txt
复制代码

作者: tmplinshi    时间: 2012-11-17 11:01

回复  tmplinshi


    好像不起作用,给出文本你测试吧……
每天几分 发表于 2012-11-17 09:09
  1. 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