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

[文本处理] 批处理如何删除文本中行首第一个字符/行尾最后一个字符为指定字符的行

[复制链接]
发表于 2009-1-5 20:08:22 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-9-13 16:53 编辑

求助文本行里删除最后一位合条件的批处理
比如:
1-3
12.
12a
13.
1.5
12-
12_
4_0
780

如上面一样,整个文本全是这种排列.我想要去掉12. 12_ 12-  这三种最后一位以.-和_结尾的,并删除整行.得到如下结果
1-3
12a
1.5
4_0
780

请大家帮帮我.谢谢了.
发表于 2009-1-5 20:21:24 | 显示全部楼层
  1. findstr "[^\.\-_]$" a.txt>a_new.txt
复制代码
 楼主| 发表于 2009-1-6 09:28:58 | 显示全部楼层
谢谢了,已经成功去掉,还想咨询一下,能不能把这三位要是在第一位时,也整行去掉?
发表于 2009-1-6 10:05:16 | 显示全部楼层
  1. @echo off
  2. findstr /b "[^\.\-_]" test.txt>new.txt
  3. pause
复制代码
发表于 2009-1-6 10:18:41 | 显示全部楼层

回复 3楼 的帖子

单独去头:
  1. findstr "^[^\.\-_]" a.txt > 去头.txt
复制代码
去头尾:
  1. findstr "[^\.\-_]$" a.txt|findstr "^[^\.\-_]" > 去头尾.txt
复制代码
 楼主| 发表于 2009-1-6 11:47:00 | 显示全部楼层
谢谢楼上两位,已经搞掂了.
再次感谢.

[ 本帖最后由 lxj 于 2009-1-6 13:01 编辑 ]
发表于 2009-1-6 12:04:47 | 显示全部楼层
  对正常讨论的帖子,论坛不会锁定,就算已经解决了你自己的问题,但是,其他人可能还有更好的办法,或者有其他的疑问,还有可能继续讨论下去——因为一个帖子发出来之后,它的意义已经不仅仅是为了解决你自己的问题,对别人同样有启发意义,请楼主多为他人作想。
 楼主| 发表于 2009-1-6 12:53:36 | 显示全部楼层
出了怪事,早上运行成功去掉头尾,现在想重新试一下,居然不行了.
  1. findstr "[^\.\-_]$" a.txt>a_new.txt
复制代码
另存为.bat运行后,得到的a_new.txt是空的.

在这之前,我运行了
  1. findstr /b "[^\a]" test.txt>new.txt
复制代码
去掉了开头为a的全部.
 楼主| 发表于 2009-1-6 13:00:53 | 显示全部楼层
  1. @echo off
  2. findstr /b "[^\.\-_]" test.txt>new.txt
  3. pause
复制代码
加上上面和下面两行就可以了,奇怪的是早上没加也可以啊.晕.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 01:30 , Processed in 0.032230 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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