for 续4
---------siwuxie095
(四)tokens=x,y,m-n 显示指定的列
tokens=x 只显示第 |
tokens=x,y,z 只显示第 x,y,z 列 |
tokens=m-n 只显示从 m 列到 n 列(m<n) |
tokens=* |
如:将
《易经
·
乾》
的开头,保存为
易经.txt,文本内容:
代码:
@echo off rem token 的1 和 2 之间的逗号必须为英文格式下的逗号 rem delims 的 = 后的冒号和 for /f "tokens=1,2 delims=:" pause>nul |
sublime中:
运行一览:以冒号为分隔符,显示第一列和第二列内容,冒号不显示
注意格式细节:
1、"tokens=1,2"
中 1 和 2 数字之间,用的逗号必须是英文格式逗号
2、这里需要显示两列的内容,echo 后面就需要用多个变量符号 %%a
和
%%b,同样,如果需要显示三列内容,就必须这么写
echo %%a %%b %%c
echo |
3、for /f "tokens=1,2 delims=:" %%a in (易经.txt) do echo %%a
%%b,
对于 in 前面用 %%a,则 echo 后面就必须以 %%a 变量开始,而且,后面的
变量必须以字母表顺序排列下去,否则无效
再如:
@echo off rem token 的1 和 3 之间的逗号必须为英文格式下的逗号 rem delims 的 = 后的逗号和 for /f "tokens=1,3 delims=," pause>nul |
sublime中:
运行一览:以逗号为分隔符,显示第一列和第三列的内容(其余
内容忽略),有些行没有第三列,就不显示
使用多个不同符号都作为分隔符:
@echo off rem token 的1 和 3 之间的逗号必须为英文格式下的逗号 rem delims 的 = 后的冒号、逗号和 for /f "tokens=1,3 delims=:," pause>nul |
sublime中:
运行一览:以冒号和引号作为分隔符,只显示第一列和第三列的内容,
作为分隔符的冒号和逗号以及其它内容都不予显示
再如:
@echo off rem delims 的 = 后的冒号、逗号和 for /f "delims=:," pause>nul |
运行一览:虽然用多个符号将文本分成更多的列,
但显示时没有指出显示哪些列,将只显示第一小
节(列)的内容
对于
"delims=:," 这个句子,已有冒号和逗号两个符号,当然
还可以添加任意多的符号都作为分隔符,例如
"delims=,。?;",
这里有逗号、句号、问号和分号四个符号都作为分隔符。
注意:第一个符号前面以及所有符号之间不能有空格,如果要空格
也作为分隔符,那么空格必须写在所有符号的最后面,当然,也可
以单独将空格作为分隔符
"delims= "
如:文本
静夜思.txt 的内容:
Delims=, 即定义逗号为分隔符,以此将诗句分成四个小列(或小节)
|
第一列 |
分隔符 |
第二列 |
分隔符 |
第三列 |
分隔符 |
第四列 |
第一行 |
床前明月光 |
, |
疑是地上霜 |
, |
举头望明月 |
, |
低头思故乡 |
要用
for
将四句诗都显示到屏幕上,不需要任何参数即能实现:
@echo off for /f %%i in (静夜思.txt) do pause>nul |
运行一览:
如果没有任何参数的语句:
for /f %%i in (filename) do echo %%i
会忽略掉所有行的前导空格后将全部文本内容都显示出来
再如:将
易经.txt 改为:
代码:
@echo off for /f %%e in (易经.txt) do pause>nul |
运行一览:
若改为:
@echo off for /f "tokens=1,3" pause>nul |
运行一览:
这里没有使用 delim 进行分隔,而带有空格的行,空格后面的内容被忽
略了,原因就是默认情况下,即使没有用 delims 选项,for 也会以空格
作为分隔符,将空格后的内容屏蔽掉
使用 delims 的目的主要是通过切分字符串,获得可编辑的字符串
以便于进行下一步编辑
Delims 好比一把刀,文本信息就好比猪扒,使用 delims 这把刀将
文本这块猪扒切分成许多小块,这样吃起来就很方便
如果你想吃其中的某一块,直接用 tokens 这把刀叉提取即可
【made by siwuxie095】
for 续4的更多相关文章
- .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入
上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...
- [.NET] C# 知识回顾 - 委托 delegate (续)
C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...
- iOS 开发者账号到期续费流程
1.登录developer.apple.com,查看到期时间 2.到期提醒通知,点击Renew Membership续费(一般提前一个月提醒续费) 3.个人开发者账号续费需要支付 688人民币/年(9 ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
- CI-持续集成(1)-软件工业“流水线”概述
CI-持续集成(1)-软件工业“流水线”概述 1 概述 持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次, ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)
ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...
- [译]Godot系列教程三 - 场景实例化(续)
场景实例化(续) 要点 场景实例化带来很多便利的用法,总体来说有: 将场景细分,更便于管理 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大 是一种设计更复杂的游戏流程甚至UI的方式 这 ...
- 【小白的CFD之旅】13 敲门实例【续3】
接上文[小白的CFD之旅]12 敲门实例[续2] 4 Results4.1 计算监测图形4.2 Graphics4.2.1 壁面温度分布4.2.2 创建截面4.2.3 显示截面物理量4.2.4 Pat ...
- 【小白的CFD之旅】12 敲门实例【续2】
接上文[小白的CFD之旅]敲门实例[续] 主要内容 3 Solution3.1 Solution Methods3.2 Solution Controls3.3 Monitors3.4 Report ...
- jquery实现简单瀑布流布局(续):图片懒加载
# jquery实现简单瀑布流布局(续):图片懒加载 这篇文章是jquery实现简单瀑布流布局思想的小小扩展.代码基于前作的代码继续完善. 图片懒加载就是符合某些条件时才触发图片的加载.最常见的具体表 ...
随机推荐
- 【python】venv使用
virtualenvwrapper 比 virualenv 好用一些. 准备 export WORKON_HOME=~/venv source /usr/bin/virtualenvwrapper.s ...
- Ubuntu网络配置IP和DNS等,适用于14.04,16.04和17.10
本文主要介绍Ubuntu系统的网络设置,包括IP,DNS和主机名等,适用于14.04,16.04和17.10等版本 =============== 完美的分割线 ================ = ...
- CF1082G:G. Petya and Graph(裸的最大闭合权图)
Petya has a simple graph (that is, a graph without loops or multiple edges) consisting of n n vertic ...
- (转)类的sizeof
来源:http://www.360doc.com/content/12/0315/17/3349869_194600377.shtml
- Jenkins搭建windows service自动编译发布环境
类库项目(Task)部署 前面搭建了Web站点的环境,类库项目发布不同于站点项目,它只需要将MSBuild编译出来的dll复制到目标服务器上即可,而不需要通过Web Deploy,下面来说一下如何发布 ...
- cocos2dx 安卓真机调试问题汇总
cocos compile编译apk问题汇总: 1,dx编译报错,没有足够的空间 ANTBUILD : [dx] error : Could not create the Java Virtual M ...
- Spring Boot 报错:Error creating bean with name 'entityManagerFactory' defined in class path resource
spring boot 写一个web项目,在使用spring-data-jpa的时候,启动报如下错误: Error starting ApplicationContext. To display th ...
- C# List的深复制
1.关于深拷贝和浅拷贝 C#支持两种类型:值类型和引用类型 值类型(Value Type):如 char, int, float,枚举类型和结构类型 引用类型(Reference Type):如Cla ...
- GIT-查看config配置信息
config 配置指令 1 git config config 配置有system级别 global(用户级别) 和local(当前仓库)三个 设置先从system->global->lo ...
- [转]Spring 之 Bean 生命周期
Spring 容器中可以注册多个后处理器,只要它们同时实现 org.springframework.core.Ordered 接口. 下载文件 :内容来自 <精通Spring+4.x++企业应用 ...