Board logo

标题: [文本处理] 批处理如何删除文本中的指定字符串/提取指定文件链接? [打印本页]

作者: lucyve    时间: 2012-12-14 17:10     标题: 批处理如何删除文本中的指定字符串/提取指定文件链接?

本帖最后由 pcl_test 于 2016-11-16 09:38 编辑

尊敬的各位高手,我有一个txt文档,内容如下:
flashvars['video_url']='http://www.cdzd.net/get_file/1/1b43ac390df3ca8cab20cbe9e1513ec3/46000/46260/46260.mp3/';
flashvars['video_url']='http://www.cdzd.net/get_file/1/78be8d3ee64774c7b0ab4c002659274a/50000/50378/50378.mp3/';
flashvars['video_url']='http://www.cdzd.net/get_file/1/700fb020e172365e359d3896c0c4d75a/43000/43805/43805.mp3/';
flashvars['video_url']='http://www.cdzd.net/get_file/1/8120616518617f2e6ad037f2e9b80933/45000/45871/45871.mp3/';
flashvars['video_url']='http://www.cdzd.net/get_file/1/b6cd4d2259921072c4dcd4a1282e3e73/44000/44867/44867.mp3/';
flashvars['video_url']='http://www.cdzd.net/get_file/1/54840f5924e18f509623ded71b32a691/43000/43828/43828.mp3/';
flashvars['video_url']='http://www.cdzd.net/get_file/1/0061d59cd197aa2074306396320535d4/50000/50327/50327.mp3/';
flashvars['video_url']='http://www.cdzd.net/get_file/1/d98a7e1d23fa5600d9dba0b91d3c4dea/50000/50070/50070.mp3/';
flashvars['video_url']='http://www.cdzd.net/get_file/1/0c53588ee32a1372339326b5c2b67a22/45000/45461/45461.mp3/';
flashvars['video_url']='http://www.cdzd.net/get_file/1/02e0c8b83e527d020dd0e15419ec92e1/48000/48264/48264.mp3/';
现请教一个批处理命令,能够把每一行的flashvars['video_url']='和/';这两串字符删除,形成一个干干净净的http链接,如下:
http://www.cdzd.net/get_file/1/1b43ac390df3ca8cab20cbe9e1513ec3/46000/46260/46260.mp3
http://www.cdzd.net/get_file/1/78be8d3ee64774c7b0ab4c002659274a/50000/50378/50378.mp3
http://www.cdzd.net/get_file/1/700fb020e172365e359d3896c0c4d75a/43000/43805/43805.mp3
http://www.cdzd.net/get_file/1/8120616518617f2e6ad037f2e9b80933/45000/45871/45871.mp3
http://www.cdzd.net/get_file/1/b6cd4d2259921072c4dcd4a1282e3e73/44000/44867/44867.mp3
http://www.cdzd.net/get_file/1/54840f5924e18f509623ded71b32a691/43000/43828/43828.mp3
http://www.cdzd.net/get_file/1/0061d59cd197aa2074306396320535d4/50000/50327/50327.mp3
http://www.cdzd.net/get_file/1/d98a7e1d23fa5600d9dba0b91d3c4dea/50000/50070/50070.mp3
http://www.cdzd.net/get_file/1/0c53588ee32a1372339326b5c2b67a22/45000/45461/45461.mp3
http://www.cdzd.net/get_file/1/02e0c8b83e527d020dd0e15419ec92e1/48000/48264/48264.mp3
以便复制让迅雷一键下载,谢谢!给各们添麻烦了!
作者: tmplinshi    时间: 2012-12-14 17:35

本帖最后由 tmplinshi 于 2012-12-14 17:40 编辑
  1. sed -i -r "s|^.*='(.*)/'.*$|\1|" a.txt
复制代码
sed 下载地址: http://bathome.net/thread-15605-1-4.html
作者: 学习ing    时间: 2012-12-15 23:08

这个很规律,可以用截取变量的简单方法
  1. setlocal enabledelayedexpansion
  2. for /f %%a in (ff.txt) do (
  3.   set v=%%a
  4.   set v=!v:~24,-3!
  5.   echo !v!>>ff-new.txt
  6. )
  7. endlocal
复制代码

作者: Batcher    时间: 2012-12-16 21:06

  1. grep -o "http:.*.mp3" a.txt
复制代码

作者: Batcher    时间: 2012-12-16 21:07

回复 3# 学习ing
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f %%a in (a.txt) do (
  4.     set v=%%a
  5.     echo,!v:~24,-3!
  6. ))>b.txt
复制代码

作者: tmplinshi    时间: 2012-12-16 22:20

本帖最后由 tmplinshi 于 2012-12-16 22:21 编辑
Batcher 发表于 2012-12-16 21:06
grep -o "http:.*.mp3" a.txt



    我以为 grep 是像 findstr 一样只是搜索字符,没想到还有字符截取的功能。
作者: lucyve    时间: 2012-12-18 16:15

回复 3# 学习ing


    太谢谢你了
作者: lucyve    时间: 2012-12-19 17:05

太谢谢你了,请多指教




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