Board logo

标题: [文本处理] 文本另类重新排序?批处理怎么写? [打印本页]

作者: idc878787    时间: 2023-5-13 23:10     标题: 文本另类重新排序?批处理怎么写?

本帖最后由 idc878787 于 2023-5-14 00:35 编辑

文本以小数点.为分割, 第二部分的内容 ,相同内容数量多的排前面  数量越少排后面?

例如文本a.txt

tf18p.sougou.cn/
tf18p.sougou.cn/
tf18p.sougou.cn/
tf18p.sougou.cn/
nhumb.baidu.cn/
ryf85.163.cn/
ryf85.163.cn/
tf18p.qq.cn/
tf18p.qq.cn/
tf18p.qq.cn/
nhumb.sohu.cn/
ryf85.sohu.cn/
tf18p.sohu.cn/
nhumb.sohu.cn/
ryf85.sohu.cn/



生成以下文本b.txt

nhumb.sohu.cn/
ryf85.sohu.cn/
tf18p.sohu.cn/
nhumb.sohu.cn/
ryf85.sohu.cn/
tf18p.sougou.cn/
tf18p.sougou.cn/
tf18p.sougou.cn/
tf18p.sougou.cn/
tf18p.qq.cn/
tf18p.qq.cn/
tf18p.qq.cn/
ryf85.163.cn/
ryf85.163.cn/
nhumb.baidu.cn/
作者: ashnoer    时间: 2023-5-13 23:31

这个不难吧、获取两个点之间的字符串然后统计数量再按照多少输出
作者: idc878787    时间: 2023-5-13 23:39

回复 2# ashnoer


    对我来说  太难了
作者: 77七    时间: 2023-5-14 01:04

本帖最后由 77七 于 2023-5-14 11:13 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims=." %%a in ('type "1.txt"') do (
  4.      set /a #%%a+=1
  5. )
  6. for /f "tokens=1-3 delims=." %%a in ('type "1.txt"') do (
  7.         set /a m+=1,n=0000!#%%b!
  8.         set _!n:~-5!#%%a.%%b.%%c#!m!=1
  9. )
  10. (for /f "tokens=2 delims=_#" %%a in ('set _ ^|sort /r') do (
  11.         echo %%a
  12. ))>2.txt
  13. endlocal
  14. pause
复制代码
代码错误,有很多问题。
作者: idc878787    时间: 2023-5-14 06:29

本帖最后由 idc878787 于 2023-5-14 06:43 编辑

先谢谢你    测试了这个   不可以哦   错误了

相同数量多的  提示这个      无效数字。数字常数只能是十进制(17),十六位进制(0x11)或八进制(021)。


生成的新文本 怎么都以 数字 开头??不用这个数字
作者: idc878787    时间: 2023-5-14 06:29

本帖最后由 idc878787 于 2023-5-14 06:43 编辑
77七 发表于 2023-5-14 01:04



先谢谢你    测试了这个   不可以哦   错误了

相同数量多的  提示这个      无效数字。数字常数只能是十进制(17),十六位进制(0x11)或八进制(021)。


生成的新文本 怎么都以 数字 开头??不用这个数字
作者: 77七    时间: 2023-5-14 06:55

本帖最后由 77七 于 2023-5-14 07:11 编辑

回复 6# idc878787


   已修改
作者: idc878787    时间: 2023-5-14 07:55

回复 7# 77七

  批处理提示这个      无效数字。数字常数只能是十进制(17),十六位进制(0x11)或八进制(021)。???
    没有排序?
作者: idc878787    时间: 2023-5-14 07:55

回复 8# idc878787

你方便的时候   测试下

8700.xqho1c.cn/
abc.lzgja.cn/
asian.njtyt.cn/
bbs.pddjlf.cn/
bbs.sunrion.cn/
bbs.tjsoehi.cn/
bbs.zbpprf.cn/
begin.bojundmm.cn/
blog.ftz67.cn/
blog.gddgdd.cn/
blog.mhhssrr.cn/
c.bbkvn.cn/
course.npm3.cn/
face.txindk.cn/
hill.c5w7.cn/
hq.wdhsw.cn/
ios.xaamihl.cn/
jinzhou.kbha36den.cn/
keep.a61h.cn/
keep.txindk.cn/
li.dais38.cn/
little.p43cwl.cn/
m.vh213.cn/
p8.kmstwld.cn/
tzgouo4.njtyt.cn/
wap.npoqxhf.cn/
whmdn.hh437.cn/
wxc48cfu.tygggs.cn/
ybd.qmpsiem.cn/
cb9c.ss29p.cn/
hdfstc.ss29p.cn/
wc.8y73rm.cn/
4g-bs.ehqbhaf.cn/
ms.rstrzq.cn/
rzl.shhzwfi.cn/
h5.shhzwfi.cn/
shanghai.sujieyihao.cn/
lishui.sujieyihao.cn/
4g-anzhuo.iqcdwws.cn/
zrq.meiyishou.cn/
log.meiyishou.cn/
ios.1056xq.cn/
wz.lttxqos.cn/
wap-y.lttxqos.cn/
m.yaer925.cn/
lahfu.gnsltd.cn/
aa21o.gnsltd.cn/
cpnbo.gnsltd.cn/
rcghu.gnsltd.cn/
nhumb.gnsltd.cn/
ryf85.gnsltd.cn/
tf18p.gnsltd.cn/
d54os.gnsltd.cn/
zs395.gnsltd.cn/
w58al.gnsltd.cn/
ntw.aq6v06.cn/
argument.nnfedb.cn/
mzbcwwo.nnfedb.cn/
3g-rbp.vnxtrcl.cn/
nmoij.lw7fm.cn/
5b6.lw7fm.cn/
m.qwrr1x.cn/
4g-shl.ezefamb.cn/
4g-snf.ezefamb.cn/
boke.minzuhua.cn/
img.minzuhua.cn/
jinhua.njzsxxiot.cn/
h5.55teh5.cn/
wxs.vxdmq.cn/
zkb.lnabvn.cn/
brute.lnabvn.cn/
byxfz.lnabvn.cn/
zmwzc.lnabvn.cn/
swsico.lnabvn.cn/
fnu1y.sdwsdp.cn/
wilj.sdwsdp.cn/
news.166pi.cn/
2g.xzlgd.cn/
9516.ty3c9.cn/
6619.ty3c9.cn/
rv8s.ty3c9.cn/
cgae.ty3c9.cn/
last.ymysmrjkyzq6.cn/
1cfdfa.hdwrz.cn/
site.tl2725.cn/
mip.euacki.cn/
blog.euacki.cn/
game.euacki.cn/
ww6.18mic.cn/
csl.xinaoerliangtihu.cn/
nsg.xinaoerliangtihu.cn/
zj.xinaoerliangtihu.cn/
sj.xinaoerliangtihu.cn/
3g-yq.xinaoerliangtihu.cn/
h5.cybwcl.cn/
tool.tl8877.cn/
weilai.jincbqo.cn/
protection.jincbqo.cn/
multimedia.jincbqo.cn/
s4351.wxxcxlll.cn/
guyff.wxxcxlll.cn/
hjupv.wxxcxlll.cn/
nv1nv.wxxcxlll.cn/
v75wd.wxxcxlll.cn/
rbgg3.wxxcxlll.cn/
w4uxg.wxxcxlll.cn/
map.txzijtm.cn/
news.xopxolh.cn/
vvmba.giwpudjv.cn/
app.kersuv.cn/
4g.kersuv.cn/
ghnw.ahlshs.cn/
c.t783p0.cn/
m-39889.jx9563.cn/
v5h7y.jx9563.cn/
15670.jx9563.cn/
4g-oms.zxwgkvi.cn/
093010.bq4d.cn/
061534.bq4d.cn/
treatment.yxjunjie88.cn/
zh.t75a.cn/
li.hyxhyxm.cn/
zhezei.hojiang2009.cn/
kuangzhou.hojiang2009.cn/
pay.hojiang2009.cn/
renduan.hojiang2009.cn/
blog.zgv01u.cn/
ios.meilrb.cn/
nn.meilrb.cn/
m.meilrb.cn/
html5.meilrb.cn/
pvfnpdkezd.korip.cn/
jznw.korip.cn/
m.srnttg.cn/
m.hcaotang.cn/
raem.jimuxq.cn/
bsp.wjqkzvq.cn/
wap-jyg.wjqkzvq.cn/
addacn99.ftjbrn.cn/
mobile.wei3bz.cn/
d6naj6.51bbshuang.cn/
ok.uczbyd.cn/
fb1fb.rongkingkeji.cn/
oj8oj.rongkingkeji.cn/
d7476.rongkingkeji.cn/
tig99.rongkingkeji.cn/
photx.rongkingkeji.cn/
wr9wr.rongkingkeji.cn/
k35cm.rongkingkeji.cn/
uzode.rongkingkeji.cn/
ase23.rongkingkeji.cn/
2787.dfxiw.cn/
2734.dfxiw.cn/
big.daaccounting.cn/
5g.daaccounting.cn/
qbv.lujimin.cn/
lj.lujimin.cn/
3g.ns9268.cn/
ha.hcipa.cn/
1a.hcipa.cn/
91711.8236xq.cn/
human.nmdjig.cn/
athlete.nmdjig.cn/
wap.vqxjn.cn/
blog.230e1g.cn/
map.230e1g.cn/
m.kwfypuw.cn/
betray.xtgest.cn/
mean.xtgest.cn/
thrill.xtgest.cn/
anzhuo.qddqdd.cn/
rr.qddqdd.cn/
yt.rmeieu.cn/
mip.ctzyc.cn/
eyzk.tmjian.cn/
news.get7797.cn/
m.kczqwxq.cn/
h5.beylc.cn/
justice.zymrxg.cn/
qowpkh.zymrxg.cn/
ghly.zymrxg.cn/
yyq.muf4as.cn/
feffot74.dtjqrp.cn/
dfdflx25.dtjqrp.cn/
bcffov1.dtjqrp.cn/
fdbfkb84.dtjqrp.cn/
adfbku9.dtjqrp.cn/
ebcazw55.dtjqrp.cn/
bdfawu87.dtjqrp.cn/
edebao57.dtjqrp.cn/
fadcnx63.dtjqrp.cn/
eefdnl52.dtjqrp.cn/
suburb.dhwmnh.cn/
potnl.dhwmnh.cn/
capacity.dhwmnh.cn/
anybody.dhwmnh.cn/
e4.casemis.cn/
am.casemis.cn/
yevtnvfxlzk9.yy3dw.cn/
pged9779lq.yy3dw.cn/
blog.bbmaj.cn/
yss7.enyuan01.cn/
m.get1335.cn/
clsq.0411fuke.cn/
kqv93.hironhida.cn/
big.kmsys.cn/
wap-xlg.kmsys.cn/
abc.kmsys.cn/
img.zenac.cn/
zx.sfjvdt.cn/
wxs.fbm4.cn/
bbs.zhekou9.cn/
mip.book393.cn/
gloryl.tbggqi.cn/
split.tbggqi.cn/
xoxwchma98.bosinc.cn/
betray.dhwbsm.cn/
altitude.dhwbsm.cn/
astronaut.bnkhmd.cn/
wap.sccdht.cn/
web.sccdht.cn/
m.sccdht.cn/
blog.sccdht.cn/
site.bt2792.cn/
ds3boo.boluolt.cn/
5n0.boluolt.cn/
anzhuo.lizuhei.cn/
ww6.taiwanrugevpn.cn/
blind.fqwmet.cn/
ugp.fqwmet.cn/
dqgtpt.fqwmet.cn/
019c9.90lolo.cn/
zepeqaz.iepeic.cn/
wwgwdwj.iepeic.cn/
lczotjc.iepeic.cn/
nusve.iepeic.cn/
tzgqz.otzaqx.cn/
sacred.otzaqx.cn/
interpretation.otzaqx.cn/
aazcedk.otzaqx.cn/
hostile.otzaqx.cn/
pcleb.otzaqx.cn/
hcs.jkjauay.cn/
3ahzy.zhengguizq.cn/
li.fm04.cn/
game.fm04.cn/
ios.fdsxa.cn/
bu5.zmhki.cn/
n55.zmhki.cn/
log.zmhki.cn/
fucxj.cgccsy.cn/
site-58719.jeqtelnix.cn/
i2x.jrmww.cn/
xuzhou.zkd9n.cn/
4g.en1751.cn/
3g-cpz.fzkyvai.cn/
ms.kaioffice.cn/
mip.kaioffice.cn/
3g.kaioffice.cn/
smm.armhf.cn/
oc.plqtw.cn/
wanao.txppgct482.cn/
niaoyu.txppgct482.cn/
game.hknyc.cn/
wxs.hknyc.cn/
link.vtb7ox.cn/
blog.vtb7ox.cn/
big.llssm.cn/
abc.llssm.cn/
q14hy.yidianchaoshi.cn/
o774o.yidianchaoshi.cn/
hncbz.yidianchaoshi.cn/
fz7fz.yidianchaoshi.cn/
bolg.plljend.cn/
lanzhou.miaoxianshequ.cn/
m.kid-eden.cn/
7ex.kid-eden.cn/
force.fsizhuan.cn/
chao.5b5ad.cn/
yyzr.knxsw.cn/
hpsp.jgtyf.cn/
xbm.lumap.cn/
wap-ls.lumap.cn/
wxs.xpihn.cn/
set.qggxxww.cn/
abdcnb40.jtrhrs.cn/
boke.fe2hni.cn/
ne33x.hzrlzyw.cn/
rz9rz.renlongguoji.cn/
erv86.renlongguoji.cn/
nn.fntipta.cn/
mtg.csxrpc.cn/
xhq.csxrpc.cn/
pt.csxrpc.cn/
fd.csxrpc.cn/
3g-mf.3qmxve.cn/
jsw.mwzxgbf.cn/
4g-cz.mwzxgbf.cn/
zsp5zwc4071.e-hard.cn/
7a4cet.e-hard.cn/
0pfvo3y9smn.e-hard.cn/
zf3jtmkar.e-hard.cn/
ssh.51dhb.cn/
b.51dhb.cn/
wc.51dhb.cn/
3g.51dhb.cn/
ios.get8852.cn/
baojishi.ogaeoe.cn/
lkz.asfayt.cn/
teeei.asfayt.cn/
resort.asfayt.cn/
e4t.carlcen.cn/
rl.carlcen.cn/
i.carlcen.cn/
h5.mzgulgm.cn/
php.mzgulgm.cn/
3g-h.mzgulgm.cn/
jc.mzgulgm.cn/
zyy.mzgulgm.cn/
web.hao7658.cn/
news.hao7658.cn/
sldl.iaipa0w.cn/
2yd.n6660.cn/
mdh.ofgdfn.cn/
ffkbz.ofgdfn.cn/
kcy9.zxfjd3g.cn/
yd6uvxa.zxfjd3g.cn/
news.zxfjd3g.cn/
y2qjx.changeicon.cn/
map.phleasing.cn/
link.phleasing.cn/
sd.tjcsn.cn/
nrj.yuluif.cn/
t2e4s1.xclo.cn/
c77wq.biaopai168.cn/
anqing.bulanzhinan.cn/
qionghai.bulanzhinan.cn/
weinan.bulanzhinan.cn/
qingyuan.bulanzhinan.cn/
baike.bt8768.cn/
pppcao7.321gan.cn/
f7wjk.yinghaitang.cn/
li.bbeiu.cn/
hq.bbeiu.cn/
rr.bbeiu.cn/
map.bbeiu.cn/
sw5bqp3.onzeden.cn/
p1ah3o.onzeden.cn/
6k2s6tqy.onzeden.cn/
27097.ubgrtk.cn/
tera.meezhu-learn.cn/
1eqe.meezhu-learn.cn/
jr.jingbaofu.cn/
rr.jingbaofu.cn/
hq.jingbaofu.cn/
y2r2.salecrane.cn/
ugqt.salecrane.cn/
y3yo.salecrane.cn/
rmoc.salecrane.cn/
0mdj.salecrane.cn/
zlfq.salecrane.cn/
pezs.salecrane.cn/
tdyq.salecrane.cn/
yqdl.salecrane.cn/
zh96.salecrane.cn/
zrq.gepets.cn/
5g.gepets.cn/
show.hikissy.cn/
ios.wds5391.cn/
4g.delondon.cn/
mobile.bdfss21.cn/
yidou.yf4a48.cn/
baoji.yf4a48.cn/
never.chipgroup.cn/
web.l3odxx.cn/
top.hao2995.cn/
beta.pospl.cn/
img.fhaeh.cn/
ms.fftnr.cn/
nmg.kejsbe.cn/
lz.kejsbe.cn/
klangxian.wsscptngh276.cn/
gx.joll-core.cn/
m4vhjq.acdma.cn/
3g.b43gok.cn/
cccaeg70.gtlyrh.cn/
t4r4i5.maanshan114.cn/
mi1bs7k0.maanshan114.cn/
xiaogan.vcqjqs.cn/
mnhr.c740055.cn/
game.yacdqda.cn/
4g.oyjauy.cn/
want.vqnmp.cn/
h5.njxexqnney.cn/
3g-tq.liebusiness.cn/
stair.aqxsjo.cn/
fcuh.aqxsjo.cn/
qazkf.aqxsjo.cn/
udnvy.aqxsjo.cn/
process.aqxsjo.cn/
wy.600424-gov.cn/
h5.podtd.cn/
3g.wwyiss.cn/
5g.nvhhwke.cn/
m4l1v3.xnhi.cn/
pb77m.bopoexpo.cn/
xhshz.bopoexpo.cn/
nm21l.bopoexpo.cn/
img.2zu6mp.cn/
yea.gm62e9.cn/
ios.wsrsqru.cn/
afbfif46.jtrlrc.cn/
game.59o737.cn/
ych.ivfdv.cn/
9zl.ivfdv.cn/
yc25.ivfdv.cn/
qvu.ivfdv.cn/
5bv.ivfdv.cn/
apple.wenzhixp.cn/
ge9a83.telias.cn/
com.cambiumnetworks.cn/
news.biv8.cn/
mfd.biv8.cn/
mip.biv8.cn/
dependent.eujlvn.cn/
tianexian.eujlvn.cn/
rider.eujlvn.cn/
telegraph.eujlvn.cn/
cz1al.nbggqq.cn/
t15wz8.fengqiwuhanyu.cn/
bha.lmixzk.cn/
zbpleei.lmixzk.cn/
revenge.lmixzk.cn/
kkq.lmixzk.cn/
tcbdg.lmixzk.cn/
fsrtud.lmixzk.cn/
zilkymk.lmixzk.cn/
bbs.a5i4np.cn/
is999.yanyige.cn/
3g-omc.yanyige.cn/
boke.yanyige.cn/
game.heshasha.cn/
t0.c5w7.cn/
3e.c5w7.cn/
qiongbian.bendilu.cn/
mqo.b6e77uh.cn/
map.pmnba.cn/
9hy8z6an.flashart8.cn/
z2ga9.flashart8.cn/
dhyjfl3wf.flashart8.cn/
8vjj8hb5w8y.flashart8.cn/
ios.tl8679.cn/
njf.atvaq.cn/
oenzm2tb0m8.atvaq.cn/
bolg.wxddhy.cn/
log.wxddhy.cn/
9legb.5b8778.cn/
m.9gx4y1.cn/
3q6.page676.cn/
rank.tl5261.cn/
4g-jp.8p3y.cn/
lsgg2.weworkshow.cn/
ta53k.weworkshow.cn/
za.phdhbv.cn/
west.phdhbv.cn/
zj.hqqhhqg.cn/
blog.hqqhhqg.cn/
article.diskyr.cn/
bqdph.diskyr.cn/
www-944.nx8672.cn/
mip-mip504.nx8672.cn/
dzpoaz.nx8672.cn/
7dl.do8906.cn/
app.lmhn75.cn/
mip.get5588.cn/
m.tl2317.cn/
need.a13p.cn/
move.a13p.cn/
develop.a13p.cn/
3g-wg.pmacokb.cn/
ssh.pmacokb.cn/
top.tl7675.cn/
lmf.zrwwgvu.cn/
ttz.zrwwgvu.cn/
6g.qicajp.cn/
dxqq.pswfmu.cn/
lnzjda.pswfmu.cn/
qzqhbn.pswfmu.cn/
cqoayi.quqboc.cn/
miyixian.quqboc.cn/
dtyncf.quqboc.cn/
web.869q.cn/
ntw.869q.cn/
nn.869q.cn/
hsp.pgcsvc.cn/
bbs.surasb.cn/
shijin.stocksx.cn/
qitai.stocksx.cn/
billion.stocksx.cn/
stream.stocksx.cn/
作者: Batcher    时间: 2023-5-14 10:44

回复 4# 77七


    楼主的真实数据第二列有的字符串包含-字符,会导致代码 set /a #%%a+=1 出错。
作者: hfxiang    时间: 2023-5-14 10:52

回复 1# idc878787

试了一下,gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )可以实现:
  1. gawk "{a=gensub(/^[^.]+/,\"\",\"1\");c[a,++b[a]]=$0;d=b[a]>d+0?b[a]:d}END{for(i=d;i>0;i--)for(a in b)if(b[a]==i)for(j=1;j<=i;j++)print c[a,j]}" a.txt>b.txt
复制代码

作者: idc878787    时间: 2023-5-14 11:12

回复 11# hfxiang


    多谢
作者: 77七    时间: 2023-5-14 11:15

回复 9# idc878787


   代码存在很多问题,用hfxiang老师的吧。
作者: 77七    时间: 2023-5-14 11:23

回复 10# Batcher


   谢谢站长指点!检查了一下,sort的排序部分也有问题。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims=." %%a in ('type "1.txt"') do (
  4. if not defined #%%a (
  5. for /f "delims=" %%b in ('type "1.txt" ^|find /c ".%%a."') do (
  6. set #%%a=%%b
  7. )
  8. )
  9. )
  10. for /f "tokens=1-3 delims=." %%a in ('type "1.txt"') do (
  11. set /a m+=1
  12. set n=0000!#%%b!
  13. set _!n:~-5!%%b#%%a.%%b.%%c#!m!=1
  14. )
  15. (for /f "tokens=2 delims=_#" %%a in ('set _ ^|sort /r') do (
  16. echo %%a
  17. ))>2.txt
  18. endlocal
  19. pause
复制代码


回复 1# idc878787
效率和第第三方工具不能比。
作者: terse    时间: 2023-5-14 13:42

  1. @echo off&setlocal enabledelayedexpansion
  2. set max=1
  3. set file=1.txt
  4. for /f "delims=" %%a in (%file%) do (
  5.      for /f "tokens=2 delims=." %%b in ("%%a") do (
  6.           if defined _%%b (
  7.              set str=!_%%b!
  8.              set /a t=1+str
  9.              set _%%b=!t!
  10.           ) else set _%%b=1
  11.           if !_%%b! gtr !max! set max=!_%%b!
  12.           set !_%%b!_%%b=%%a
  13.      )
  14. )
  15. for /l %%i in (!max!,-1,1) do (
  16.      for /f "tokens=2 delims=." %%j in (%file%) do (
  17.           if %%i equ !_%%j! (
  18.              for /l %%k in (1,1,%%i) do echo !%%k_%%j!
  19.              set _%%j=0
  20.           )
  21.      )
  22. )
  23. pause
复制代码

作者: terse    时间: 2023-5-14 15:00

在FOR里调用FIND会影响效率;要利用SET的话 这样效率会提高点
  1. @echo off&setlocal enabledelayedexpansion
  2. set file=1.txt
  3. for /f "delims=" %%a in (%file%) do (
  4.      for /f "tokens=2 delims=." %%b in ("%%a") do (
  5.           if defined _%%b (
  6.              set str=!_%%b!
  7.              set /a t=1+str
  8.              set _%%b=!t!
  9.           ) else set _%%b=10000
  10.           set #!_%%b!#%%b=%%a
  11.      )
  12. )
  13. for /f "tokens=1,2 delims=#=" %%i in ('set #^|sort /r') do (
  14.      for /l %%k in (10000,1,%%i) do echo !#%%k#%%j!
  15. )
  16. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2