标题: [文本处理] 请教大大这个批处理 eol=- 为什么就能把后面的全部去除 [打印本页]
作者: mango 时间: 2018-1-22 00:35 标题: 请教大大这个批处理 eol=- 为什么就能把后面的全部去除
批处理:- for /f "eol=- tokens=1 delims= " %%i in (result.txt) do echo %%i>>s1.txt
复制代码
Result.txt文件内容:- -------------------------------------------------------------------------------
- Performing Time: 1/21/2018 7:57:42 --> Normal Scan: About To Scan 389120 IP Using 1024 Threads
- -------------------------------------------------------------------------------
- Performing Time: 1/21/2018 7:58:29 --> Normal Scan: About To Scan 389120 IP Using 1024 Threads
- 172.87.192.0 6379 Open
- 172.87.192.4 6379 Open
- 172.87.192.1 6379 Open
- 172.87.192.3 6379 Open
- 172.87.192.6 6379 Open
- 172.87.192.2 6379 Open
- 172.87.192.5 6379 Open
- 172.87.192.7 6379 Open
- 172.87.192.9 6379 Open
- 172.87.192.10 6379 Open
- 172.87.192.8 6379 Open
复制代码
最后得到的s1.txt- Performing
- Performing
- 172.87.192.0
- 172.87.192.4
- 172.87.192.1
- 172.87.192.3
- 172.87.192.6
- 172.87.192.2
- 172.87.192.5
- 172.87.192.7
- 172.87.192.9
- 172.87.192.10
- 172.87.192.8
复制代码
我想了解的问题:
eol=- 这里只将带 - 的行内容全部去除,但是没有发现其他哪一点还可以同时去除: 1/21/2018 7:57:42 --> Normal Scan: About To Scan 389120 IP Using 1024 Threads
以及去除每一行的 6379 Open
作者: mango 时间: 2018-1-22 00:37
tokens=1 delims=
这两个参数似乎没什么作用?我把这两个去掉后执行得到的结果是一样的,我就搞不懂是什么原理能去掉其他那些内容
作者: Batcher 时间: 2018-1-22 08:50
tokens=1 表示只获取第一列
如果省略这个参数,默认也是只获取第一列
参考:http://bbs.bathome.net/thread-2189-1-1.html
作者: mango 时间: 2018-1-22 12:21
回复 3# Batcher
那都不是重点,其实我想了解的问题是:
eol=- 这里只将带 - 的行内容全部去除,但是没有发现其他哪一点还可以同时去除: 1/21/2018 7:57:42 --> Normal Scan: About To Scan 389120 IP Using 1024 Threads
以及去除每一行的 6379 Open
作者: Batcher 时间: 2018-1-22 13:27
回复 4# mango
Performing Time: 1/21/2018 7:57:42 --> Normal Scan: About To Scan 389120 IP Using 1024 Threads
Performing Time: 1/21/2018 7:58:29 --> Normal Scan: About To Scan 389120 IP Using 1024 Threads
172.87.192.0 6379 Open
172.87.192.4 6379 Open
蓝色字体是第一列
tokens=1的作用是获取第一列(换句话说,除了第一列,其他列删除)
这样能理解吗?
作者: Blitz 时间: 2018-1-22 13:27
回复 4# mango
delims= ,作用是以空格为分割,把所有内容分割为一列一列的,比如下面的所有的1是第一列,所有的2是第二列,以此类推:- 1 2 3 4
- 1 2 3 4
- 1 2 3 4
- 1 2 3 4
复制代码
tokens=1,作用是取以空格为分割后的第一列数据,也就是所有的1
把这两个去掉,结果还是一样是因为默认就是tokens=1 delims=
作者: mango 时间: 2018-1-22 14:55
本帖最后由 mango 于 2018-1-22 14:56 编辑
原来是这么回事,现在明白了,只要是用空格隔开的就叫做第二列了,只保留第一个空格之前的内容,感谢大神耐心解答
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |