Board logo

标题: [文本处理] bat脚本文本提取把二级域名的都删掉? [打印本页]

作者: idc878787    时间: 2022-3-26 20:03     标题: bat脚本文本提取把二级域名的都删掉?

bat 文本提取??

把二级域名的都删掉??

文本a.txt
1----2----3----aodajia.com/
1----2----3----aigu-mac.com/
1----2----3----aililai888.com.cn/
1----2----3----aoding120.cn/
1----2----3----www.aodng120.net/
1----2----3----www.aililai88.com.cn/
1----2----3----ss.ysgqw.cn/
1----2----3----sn6pn2.top.cutetat.com/
1----2----3----app.25731.net/

生成新文本b.txt
1----2----3----aodajia.com/
1----2----3----aigu-mac.com/
1----2----3----aililai888.com.cn/
1----2----3----aoding120.cn/
1----2----3----www.aodng120.net/
1----2----3----www.aililai88.com.cn/
作者: went    时间: 2022-3-26 21:08

本帖最后由 went 于 2022-3-26 23:03 编辑

test.bat
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. (
  4. for /f "usebackq delims=" %%i in ("a.txt") do (
  5. for /f "tokens=3* delims=-" %%a in ("%%i") do (
  6. set /a "a=0,b=0,c=0" & set "line=%%b"
  7. if "!line:~-1!"=="/" set "line=!line:~0,-1!"
  8. for %%b in ("!line:.=" "!") do (
  9. set "d=0"
  10. for %%c in (www com cn net) do if "%%~b"=="%%c" set "d=1"
  11. if "!d!"=="0" ( set /a "a+=1" & set "b=1" ) else ( set "c=1" )
  12. )
  13. )
  14. if "!a!!b!!c!" equ "111" echo %%i
  15. )
  16. ) >"b.txt"
  17. pause&exit
复制代码

作者: wujunkai    时间: 2022-3-26 21:10

  1. for /F "tokens=1,2,3* delims=." %i in (test.txt) do (
  2.     set "line=%j"
  3.     if not "!line:~-1,1!"=="/" echo !line!
  4. )>new.txt
复制代码
大概思路就是这样,细节需要测试,因为没有测试过。
分割后判断第二个结尾有无’/’符,有的话是二级域名
作者: Batcher    时间: 2022-3-26 21:14

回复 3# wujunkai


    建议还是测试一下吧,否则错误太多了。
作者: idc878787    时间: 2022-3-26 21:48

回复 2# went


    谢谢
作者: idc878787    时间: 2022-3-26 22:22

回复 2# went


    1----2----3----ysgqw
    1----2----3----ysgqwee

这种不含 小数点   不是域名的   要去掉   怎么修改?
作者: went    时间: 2022-3-26 23:03

回复 6# idc878787


    2楼更新了
作者: idc878787    时间: 2022-3-26 23:13

回复 2# went


    多谢




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