找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: xslxslxsl

[文本处理] [已解决]批处理如何剪切特定文本内容到新的文本中?

[复制链接]
发表于 2011-9-17 23:33:58 | 显示全部楼层
如果文本中没有@这个特殊字符存在的话代码可以将代码再修改如下:

  1. @Echo Off&SetLocal EnableDelayedExpansion
  2. Rem 请将下面的Tab变量的值替换为实际的制表符
  3. Set "Tab=     "
  4. For /F "delims=" %%a In ('Dir /b ABC*.txt') Do (
  5.   (For /F "delims=" %%b In (%%a) Do (
  6.     Set "Str=%%b"&Set "Str=!Str:%Tab%=@#$!"
  7.     For /F "tokens=5 delims=@" %%c in ("!Str!") Do (
  8.       If "%%c" EQU "#$9" Echo %%b
  9.       If "%%c" EQU "#$" Echo %%b
  10.     )
  11.   ))>%%~na_1.txt
  12. )
复制代码
 楼主| 发表于 2011-9-18 10:03:39 | 显示全部楼层
回复 15# ArdentMan


    谢谢你,经过检查,没有空格就是几个TAB键。不管如何我还是非常感谢你。
发表于 2011-9-18 10:37:23 | 显示全部楼层
回复 17# xslxslxsl
那问题解决了不?
 楼主| 发表于 2011-9-18 11:55:26 | 显示全部楼层
回复 18# ArdentMan


    呵呵是的,还是没有解决,其实我以前是用我是用fr ABC1.txt -r:"^.*\t.*\t.*\t.*\t9?\t.*\n?" -t 将文本中第五列为9或空的行直接在原文件中删除,要么fr ABC1.txt -r:"^.*\t.*\t.*\t.*\t9?\t.*\n?" -t -stdout > ABC1_1.txt 将第五列不为9或空的输出到新文件中,原文件不修改。现在我想将原文件中为9或空的提取出来,就是不知道如何实现,FR的参数我看了看好像没有,我想应该是有的吧,但是就是自己没有发现。再次,感谢你的帮助哦。
发表于 2011-9-18 21:35:09 | 显示全部楼层
回复 19# xslxslxsl
  1. gawk -F "\t" "{if($5==9 || $5=="")print}" a.txt >b.txt
复制代码
 楼主| 发表于 2011-9-19 09:27:15 | 显示全部楼层
回复 20# awk


    谢谢你的帮助,能够实现特定文本的复制操作,那剪切如何书写批处理呢,谢谢指点。
发表于 2011-9-19 21:18:44 | 显示全部楼层
回复 21# xslxslxsl
  1. @echo off
  2. gawk -F "\t" "{if($5==9 || $5=="")print}" a.txt >b.txt
  3. findstr /x /v /g:b.txt a.txt >c.txt
  4. move c.txt a.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-9-19 23:49:39 | 显示全部楼层

RE: 批处理如何剪切特定的文本内容到新的文本中?

回复 22# awk


原来FINDSTR 的G是这样用的啊,纠结我这么久的问题解决了,又学习到了,问题解决,谢谢指点,AWK真是厉害啊,同时再次感谢ArdentMan等人对我及时的关注和帮助 ,谢谢你们的帮助。看到我与你们的差距,我要抓紧好好学习才行啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 06:22 , Processed in 0.019759 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表