标题: [文本处理] bat脚本怎样提取文本以逗号分割的前16个字符? [打印本页]
作者: idc878787 时间: 2022-4-25 22:02 标题: bat脚本怎样提取文本以逗号分割的前16个字符?
bat提取 a,b文本行 格式 以 逗号, 分割 。 a(前16个字符)=b(前16个字符) 的文本行???怎么写?
a(前16个字符) = b(前16个字符) 的文本行。
文本1.txt
www.diffordsguide...,www.fordsky.com
www.nvidia.com,www.fordsky.com
gitee.com,www.learn2link.com
www.walmart.com,www.learn2link.com
www.swkong.com,www.junhengjs.com
csol.tiancity.com...,www.junhengjs.com
www.cnphotoshop.c...,www.cnphotoshop.com
www.shabasoku.com...,www.shabasoku.com
www.shoku.com,www.shoku.com
提取这3个
www.cnphotoshop.c...,www.cnphotoshop.com
www.shabasoku.com...,www.shabasoku.com
www.shoku.com,www.shoku.com
作者: went 时间: 2022-4-25 22:54
- @echo off & cd /d "%~dp0"
- setlocal enabledelayedexpansion
- REM 输入输出文件
- set "in_txt=1.txt"
- set "out_txt=2.txt"
- REM 提取的域名
- set "host_list=cnphotoshop shabasoku shoku"
- (
- for /f "tokens=1* delims=," %%i in ('findstr "%host_list%" "%in_txt%"') do (
- set "a=%%i"
- set "b=%%j"
- echo !a:~0,16! = !b:~0,16!
- )
- )>"%out_txt%"
- pause&exit
复制代码
作者: idc878787 时间: 2022-4-25 23:16
回复 2# went
数据很多。怎么只提取了3个,提取出来的数如下。跟我说的不大一样?
www.cnphotoshop. = www.cnphotoshop.
www.shabasoku.co = www.shabasoku.co
www.shoku.com = www.shoku.com
作者: went 时间: 2022-4-25 23:24
回复 3# idc878787
代码是提取包含第七行列出的域名的信息,逗号两边各取前16个字符
不知道你的实际需求是什么
作者: idc878787 时间: 2022-4-25 23:32
回复 4# went
文本1.txt 我发的内容还有很多。只发了部分内容
我要提取的是。 a(前16字符) 等于b(前16字符) 的 文本行。 ???
作者: went 时间: 2022-4-25 23:39
第七行改成下面,这个结果吗复制代码
作者: idc878787 时间: 2022-4-25 23:47
回复 6# went
不对。我要的是
例如 文本1.txt
www.diffordsguide...,www.fordsky.com
www.nvidia.com,www.fordsky.com
gitee.com,www.learn2link.com
www.walmart.com,www.learn2link.com
www.swkong.com,www.junhengjs.com
csol.tiancity.com...,www.junhengjs.com
www.cnphotoshop.c...,www.cnphotoshop.com
www.shabasoku.com...,www.shabasoku.com
www.shoku.com,www.shoku.com
生成文本2.txt
www.cnphotoshop.c...,www.cnphotoshop.com
www.shabasoku.com...,www.shabasoku.com
www.shoku.com,www.shoku.com
作者: went 时间: 2022-4-25 23:55
回复 7# idc878787 - @echo off & cd /d "%~dp0"
- setlocal enabledelayedexpansion
- REM 输入输出文件
- set "in_txt=1.txt"
- set "out_txt=2.txt"
- (
- for /f "usebackq tokens=1* delims=," %%i in ("%in_txt%") do (
- set "a=%%i"
- set "b=%%j"
- if "!a:~0,16!"=="!b:~0,16!" echo %%i,%%j
- )
- )>"%out_txt%"
- pause&exit
复制代码
作者: idc878787 时间: 2022-4-25 23:59
回复 8# went
万分感谢。 要说就是这个
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |