Board logo

标题: [文本处理] 【已解决】批处理如何逐行读取txt文本并将行号和每行内容插入到指定字符串的特定位置 [打印本页]

作者: hentai87    时间: 2016-7-20 14:10     标题: 【已解决】批处理如何逐行读取txt文本并将行号和每行内容插入到指定字符串的特定位置

本帖最后由 hentai87 于 2016-7-20 15:47 编辑
  1. 输入
  2. 4861945931950
  3. 4861945931967
  4. 4861945931974
  5. 目标输出
  6. TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_1 CONTENT=4861945931950
  7. TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_2 CONTENT=4861945931967
  8. TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_3 CONTENT=4861945931974
复制代码
xxxxx_child_1 CONTENT=4861945931950
红色的1是行数,123456,没有空行,可以说是单纯编号
4861945931950是原本的文本,不固定,但都是13位数字
我想不到办法,最好别用mshta,不便于修改,我不懂js和vbs,就懂点bat
我觉得我表达的很清楚了,求手下留情,不扣分
作者: pcl_test    时间: 2016-7-20 14:32

本帖最后由 pcl_test 于 2016-7-20 14:34 编辑

纯P for

第三方http://www.bathome.net/s/tool/index.html?down&key=gawk
  1. gawk "++n{print \"TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_\"n\" CONTENT=\"$0}" "1.txt">"2.txt"
复制代码

作者: hentai87    时间: 2016-7-20 14:40

回复 2# pcl_test


   能不用第三方吗,看不懂
作者: GNU    时间: 2016-7-20 14:41

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=1
  4. (for /f %%i in ('type "1.txt"') do (
  5.     echo TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_!n! CONTENT=%%i
  6.     set /a n+=1
  7. ))>2.txt
复制代码

作者: GNU    时间: 2016-7-20 14:43

  1. gawk "{print \"TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:productForm ATTR=ID:external_product_id_gio_child_\"NR\" CONTENT=\"$0}" 1.txt > 3.txt
复制代码

作者: hentai87    时间: 2016-7-20 15:05

回复 4# GNU
  1. 原文本
  2. 32636359096
  3. 32636359097
  4. 目标
  5. FRAME F = 1
  6. TAG POS=1 TYPE=INPUT:TEXT FORM=ID:search-product-form ATTR=ID:product-name CONTENT=32636359096
  7. TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:search-product-form ATTR=ID:submit-search
  8. TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:checkbox-all CONTENT=YES
  9. FRAME F = 1
  10. TAG POS=1 TYPE=INPUT:TEXT FORM=ID:search-product-form ATTR=ID:product-name CONTENT=32636359097
  11. TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:search-product-form ATTR=ID:submit-search
  12. TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:checkbox-all CONTENT=YES
复制代码
谢谢,还有个问题
如果不光要插入到前面,前后行都加指定字符串怎么写,这次不需要插入行号
作者: hentai87    时间: 2016-7-20 15:24

回复 2# pcl_test


    谢谢,6楼的问题怎么弄
作者: pcl_test    时间: 2016-7-20 15:42

回复 7# hentai87

举一反三,学会变通呀
  1. @echo off
  2. (for /f %%i in ('type "1.txt"') do (
  3.     echo;FRAME F = 1
  4.     echo;TAG POS=1 TYPE=INPUT:TEXT FORM=ID:search-product-form ATTR=ID:product-name CONTENT=%%i
  5.     echo;TAG POS=1 TYPE=INPUT:SUBMIT FORM=ID:search-product-form ATTR=ID:submit-search
  6.     echo;TAG POS=1 TYPE=INPUT:CHECKBOX ATTR=ID:checkbox-all CONTENT=YES
  7. ))>"2.txt"
  8. pause
复制代码

作者: hentai87    时间: 2016-7-20 15:47

回复 8# pcl_test


    谢谢




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