Board logo

标题: [文本处理] 批处理如何在文本每一行内容的前后/首尾添加/插入指定字符串 [打印本页]

作者: Rasm    时间: 2017-8-5 12:20     标题: 批处理如何在文本每一行内容的前后/首尾添加/插入指定字符串

本帖最后由 pcl_test 于 2017-8-5 13:22 编辑
  1. LDD123456
  2. LMDCB666
  3. Langwang99
  4. MarsChan
  5. MeirenerO
  6. Melody520
  7. MiMax
  8. MonsterMan000
  9. OfficeLady
  10. Powchab
  11. RedLip
  12. SNWL
复制代码
文本内容如上,我想在文件前后分别添加:“http://baidu.com/search_result.php?search_id=” 和 “&search_type=search_users&x=43&y=15”


结果输入应该是:


http://baidu.com/search_result.php?search_id=LMDCB666&search_type=search_users&x=43&y=15

http://baidu.com/search_result.php?search_id=Langwang99&search_type=search_users&x=43&y=15

http://baidu.com/search_result.php?search_id=MarsChan&search_type=search_users&x=43&y=15

数据大概有几十万条
作者: hlzj88    时间: 2017-8-5 13:30

用word打开,对每行的回车进行替换,替换为&search_type=search_users&x=43&y=15^phttp://baidu.com/search_result.php?search_id=  ,然后单独处理第一和最后一行就ok,word里回车为^p。注意备份文件
作者: 3518228042    时间: 2017-8-5 14:32

  1. @set @n=0;/* & echo off
  2. dir /b *.txt|cscript -nologo -e:jscript "%~0" ""
  3. exit/b & rem */
  4. arg = WScript.Arguments(0);
  5. fso = new ActiveXObject("Scripting.FileSystemObject");
  6. while (!WSH.StdIn.AtEndOfStream) {
  7.     f = WSH.StdIn.ReadLine();
  8.     txt = fso.OpenTextFile(f,1).ReadAll();
  9.     txt = txt.replace(/([^\r\n]+)/g,"http:\/\/baidu\.com\/search_result\.php\?search_id=$1&search_type=search_users&x=43&y=15");
  10.     fso.OpenTextFile(f,2).Write(txt);
  11. }
  12. pause
复制代码
不知道时不时你想要的
作者: Rasm    时间: 2017-8-5 15:41

回复 2# hlzj88


    数据比较多啊,十几万,上百万呢,word有点困难
作者: 3518228042    时间: 2017-8-5 15:58

好几十万条用EmEditor,这个处理大文本速度最快,
正则表达式^(.*)$
替换
http://baidu.com/search_result.php?search_id=$1&search_type=search_users&x=43&y=15




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