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

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

本帖最后由 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

请大家帮帮我.谢谢了.

  1. @echo off
  2. findstr /b "[^\.\-_]" test.txt>new.txt
  3. pause
复制代码
加上上面和下面两行就可以了,奇怪的是早上没加也可以啊.晕.

TOP

出了怪事,早上运行成功去掉头尾,现在想重新试一下,居然不行了.
  1. findstr "[^\.\-_]$" a.txt>a_new.txt
复制代码
另存为.bat运行后,得到的a_new.txt是空的.

在这之前,我运行了
  1. findstr /b "[^\a]" test.txt>new.txt
复制代码
去掉了开头为a的全部.

TOP

  对正常讨论的帖子,论坛不会锁定,就算已经解决了你自己的问题,但是,其他人可能还有更好的办法,或者有其他的疑问,还有可能继续讨论下去——因为一个帖子发出来之后,它的意义已经不仅仅是为了解决你自己的问题,对别人同样有启发意义,请楼主多为他人作想。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

谢谢楼上两位,已经搞掂了.
再次感谢.

[ 本帖最后由 lxj 于 2009-1-6 13:01 编辑 ]

TOP

回复 3楼 的帖子

单独去头:
  1. findstr "^[^\.\-_]" a.txt > 去头.txt
复制代码
去头尾:
  1. findstr "[^\.\-_]$" a.txt|findstr "^[^\.\-_]" > 去头尾.txt
复制代码

TOP

  1. @echo off
  2. findstr /b "[^\.\-_]" test.txt>new.txt
  3. pause
复制代码
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

谢谢了,已经成功去掉,还想咨询一下,能不能把这三位要是在第一位时,也整行去掉?

TOP

  1. findstr "[^\.\-_]$" a.txt>a_new.txt
复制代码

TOP

返回列表