标题: [文本处理] 批处理如何删除文本中行首第一个字符/行尾最后一个字符为指定字符的行 [打印本页]
作者: lxj 时间: 2009-1-5 20:08 标题: 批处理如何删除文本中行首第一个字符/行尾最后一个字符为指定字符的行
本帖最后由 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
请大家帮帮我.谢谢了.
作者: tireless 时间: 2009-1-5 20:21
- findstr "[^\.\-_]$" a.txt>a_new.txt
复制代码
作者: lxj 时间: 2009-1-6 09:28
谢谢了,已经成功去掉,还想咨询一下,能不能把这三位要是在第一位时,也整行去掉?
作者: namejm 时间: 2009-1-6 10:05
- @echo off
- findstr /b "[^\.\-_]" test.txt>new.txt
- pause
复制代码
作者: tireless 时间: 2009-1-6 10:18 标题: 回复 3楼 的帖子
单独去头:- findstr "^[^\.\-_]" a.txt > 去头.txt
复制代码
去头尾:- findstr "[^\.\-_]$" a.txt|findstr "^[^\.\-_]" > 去头尾.txt
复制代码
作者: lxj 时间: 2009-1-6 11:47
谢谢楼上两位,已经搞掂了.
再次感谢.
[ 本帖最后由 lxj 于 2009-1-6 13:01 编辑 ]
作者: namejm 时间: 2009-1-6 12:04
对正常讨论的帖子,论坛不会锁定,就算已经解决了你自己的问题,但是,其他人可能还有更好的办法,或者有其他的疑问,还有可能继续讨论下去——因为一个帖子发出来之后,它的意义已经不仅仅是为了解决你自己的问题,对别人同样有启发意义,请楼主多为他人作想。
作者: lxj 时间: 2009-1-6 12:53
出了怪事,早上运行成功去掉头尾,现在想重新试一下,居然不行了.- findstr "[^\.\-_]$" a.txt>a_new.txt
复制代码
另存为.bat运行后,得到的a_new.txt是空的.
在这之前,我运行了- findstr /b "[^\a]" test.txt>new.txt
复制代码
去掉了开头为a的全部.
作者: lxj 时间: 2009-1-6 13:00
- @echo off
- findstr /b "[^\.\-_]" test.txt>new.txt
- pause
复制代码
加上上面和下面两行就可以了,奇怪的是早上没加也可以啊.晕.
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |