标题: [讨论]判定文件中某行是否空行(非windows文件)
[打印本页]
作者: gahoo
时间: 2008-5-16 01:48
标题: [讨论]判定文件中某行是否空行(非windows文件)
能否用批处理实现判定文件中某一行是否是空行?感觉很困难啊。大家一起讨论一下。
请看4楼
[
Last edited by gahoo on 2008-5-16 at 12:52 PM ]
作者: gahoo
时间: 2008-5-16 01:48
比如文件test.txt中
test.txt----------------
asdfsdf
fewfwekr;
werweori
weoriwejr
rweirjower
woeirjowe
wopeirjowerjo
---------------------------
怎么判断第3、5、9、10、12、13行是空行
[
Last edited by gahoo on 2008-5-16 at 01:50 AM ]
作者: lxmxn
时间: 2008-5-16 01:55
findstr /n "^$" text.txt
作者: gahoo
时间: 2008-5-16 12:43
我明白为什么我没弄出来了,那个文件是其他操作系统下的,回车符号与windows不同,在记事本里面看着就是黑框框,findstr /n "^$" test.txt无法处理这种情况。
大家再研究一下看
请大家下载这个文件再看看
test.txt文件
作者: HAT
时间: 2008-5-16 13:41
如果是Unix系统中的文件,可以先在Unix运行:
unix2dos test.txt
然后在放到windows里面就行了
作者: bg5hfc
时间: 2008-5-16 15:04
Quote: |
Originally posted by gahoo at 2008-5-16 12:43 PM:
我明白为什么我没弄出来了,那个文件是其他操作系统下的,回车符号与windows不同,在记事本里面看着就是黑框框,findstr /n "^$" test.txt无法处 ... |
|
试试这段
@ECHO OFF
FOR /f "tokens=1* delims=:" %%i IN ('findstr /n .* 413.txt') DO (
ECHO.%%j | Findstr /i "^.$" > NUL
IF NOT ERRORLEVEL 1 ( ECHO line %%i is empty! ))
作者: gahoo
时间: 2008-5-16 17:41
Quote: |
Originally posted by HAT at 2008-5-16 01:41 PM:
如果是Unix系统中的文件,可以先在Unix运行:
unix2dos test.txt
然后在放到windows里面就行了 |
|
目的就是只使用批处理解决这个问题
作者: gahoo
时间: 2008-5-16 17:43
Quote: |
Originally posted by bg5hfc at 2008-5-16 03:04 PM:
试试这段
[code]
@ECHO OFF
FOR /f "tokens=1* delims=:" %%i IN ('findstr /n .* 413.txt') DO (
ECHO.%%j | Findstr /i "^.$" > NUL
IF NOT ERRORLEVEL 1 ( ECHO li ... |
|
测试可行,不错
作者: gahoo
时间: 2008-5-16 17:48
我发现非常简单……只要
findstr /n /v "." 413.txt
作者: plp626
时间: 2008-5-17 18:29
这个以前讨论过:
http://www.cn-dos.net/forum/viewthread.php?tid=37313
作者: gahoo
时间: 2008-5-18 00:03
咦?怎么搜索没注意看到?
作者: gahoo
时间: 2008-5-18 00:12
突然发现
find /v /c "" 413.txt
结果为什么是11而不是12
findstr .* 413.txt | find /v /c ""
结果就是12