---------siwuxie095

 
 

 
 

 
 

(四)tokens=x,y,m-n 显示指定的列

 
 

tokens=x 只显示第
x 列

tokens=x,y,z 只显示第 x,y,z 列

tokens=m-n 只显示从 m 列到 n 列(m<n)

tokens=*
显示文本中的所有内容(此时,不管有没有用 delims 定义分隔符或定义了多少分隔符,文本的所有内容包括所有符号都会被显示出来)

 
 

 
 

如:将
《易经
·
乾》
的开头,保存为
易经.txt,文本内容:

 
 

 
 

代码:

@echo off

rem token 的1 和 2 之间的逗号必须为英文格式下的逗号

rem delims 的 = 后的冒号和
易经.txt 保持一致,为中文冒号

for /f "tokens=1,2 delims=:"
%%a in (易经.txt) do
echo
%%a %%b

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:以冒号为分隔符,显示第一列和第二列内容,冒号不显示

 
 

 
 

 
 

 
 

注意格式细节:

1、"tokens=1,2"
中 1 和 2 数字之间,用的逗号必须是英文格式逗号

2、这里需要显示两列的内容,echo 后面就需要用多个变量符号 %%a


%%b,同样,如果需要显示三列内容,就必须这么写

echo %%a %%b %%c

 
 

echo
%%a %%b %%c

 
 

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 的 = 后的逗号和
易经.txt 保持一致,为中文逗号

for /f "tokens=1,3 delims=,"
%%a in (易经.txt) do
echo
%%a %%b

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:以逗号为分隔符,显示第一列和第三列的内容(其余

内容忽略),有些行没有第三列,就不显示

 
 

 
 

 
 

 
 

使用多个不同符号都作为分隔符:

@echo off

rem token 的1 和 3 之间的逗号必须为英文格式下的逗号

rem delims 的 = 后的冒号、逗号和
易经.txt 保持一致,为中文格式

for /f "tokens=1,3 delims=:,"
%%a in (易经.txt) do
echo
%%a %%b

pause>nul

 
 

sublime中:

 
 

 
 

运行一览:以冒号和引号作为分隔符,只显示第一列和第三列的内容,

作为分隔符的冒号和逗号以及其它内容都不予显示

 
 

 
 

 
 

 
 

再如:

@echo off

rem delims 的 = 后的冒号、逗号和
易经.txt 保持一致,为中文格式

for /f "delims=:,"
%%a in (易经.txt) do
echo
%%a

pause>nul

 
 

运行一览:虽然用多个符号将文本分成更多的列,

但显示时没有指出显示哪些列,将只显示第一小

节(列)的内容

 
 

 
 

 
 

 
 

 
 

 
 

对于
"delims=:," 这个句子,已有冒号和逗号两个符号,当然

还可以添加任意多的符号都作为分隔符,例如
"delims=,。?;",

这里有逗号、句号、问号和分号四个符号都作为分隔符。

 
 

注意:第一个符号前面以及所有符号之间不能有空格,如果要空格

也作为分隔符,那么空格必须写在所有符号的最后面,当然,也可

以单独将空格作为分隔符
"delims= "

 
 

 
 

如:文本
静夜思.txt 的内容:

 
 

 
 

Delims=, 即定义逗号为分隔符,以此将诗句分成四个小列(或小节)

 
 

  

第一列

分隔符

第二列

分隔符

第三列

分隔符

第四列

第一行

床前明月光

疑是地上霜

举头望明月

低头思故乡

 
 

 
 

要用
for
将四句诗都显示到屏幕上,不需要任何参数即能实现:

@echo off

for /f %%i in (静夜思.txt) do
echo
%%i

pause>nul

 
 

运行一览:

 
 

 
 

 
 

 
 

如果没有任何参数的语句:

for /f %%i in (filename) do echo %%i

会忽略掉所有行的前导空格后将全部文本内容都显示出来

 
 

 
 

再如:将
易经.txt 改为:

 
 

 
 

代码:

@echo off

for /f %%e in (易经.txt) do
echo
%%e

pause>nul

 
 

运行一览:

 
 

 
 

 
 

若改为:

@echo off

for /f "tokens=1,3"
%%e in (易经.txt) do
echo
%%e %%f

pause>nul

 
 

运行一览:

 
 

 
 

 
 

 
 

这里没有使用 delim 进行分隔,而带有空格的行,空格后面的内容被忽

略了,原因就是默认情况下,即使没有用 delims 选项,for 也会以空格

作为分隔符,将空格后的内容屏蔽掉

 
 

 
 

使用 delims 的目的主要是通过切分字符串,获得可编辑的字符串

以便于进行下一步编辑

 
 

Delims 好比一把刀,文本信息就好比猪扒,使用 delims 这把刀将

文本这块猪扒切分成许多小块,这样吃起来就很方便

 

如果你想吃其中的某一块,直接用 tokens 这把刀叉提取即可

 
 

 
 

【made by siwuxie095】

  

for 续4的更多相关文章

  1. .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入

    上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...

  2. [.NET] C# 知识回顾 - 委托 delegate (续)

    C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...

  3. iOS 开发者账号到期续费流程

    1.登录developer.apple.com,查看到期时间 2.到期提醒通知,点击Renew Membership续费(一般提前一个月提醒续费) 3.个人开发者账号续费需要支付 688人民币/年(9 ...

  4. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  5. CI-持续集成(1)-软件工业“流水线”概述

    CI-持续集成(1)-软件工业“流水线”概述 1   概述 持续集成(Continuous integration)是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次, ...

  6. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)

    ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...

  7. [译]Godot系列教程三 - 场景实例化(续)

    场景实例化(续) 要点 场景实例化带来很多便利的用法,总体来说有: 将场景细分,更便于管理 相对于某些引擎中的Prefab组件更灵活,并且在许多方面更强大 是一种设计更复杂的游戏流程甚至UI的方式 这 ...

  8. 【小白的CFD之旅】13 敲门实例【续3】

    接上文[小白的CFD之旅]12 敲门实例[续2] 4 Results4.1 计算监测图形4.2 Graphics4.2.1 壁面温度分布4.2.2 创建截面4.2.3 显示截面物理量4.2.4 Pat ...

  9. 【小白的CFD之旅】12 敲门实例【续2】

    接上文[小白的CFD之旅]敲门实例[续] 主要内容 3 Solution3.1 Solution Methods3.2 Solution Controls3.3 Monitors3.4 Report ...

  10. jquery实现简单瀑布流布局(续):图片懒加载

    # jquery实现简单瀑布流布局(续):图片懒加载 这篇文章是jquery实现简单瀑布流布局思想的小小扩展.代码基于前作的代码继续完善. 图片懒加载就是符合某些条件时才触发图片的加载.最常见的具体表 ...

随机推荐

  1. NodeJS反序列化漏洞利用

    原文来自:http://www.4hou.com/web/13024.html node.js是一个服务器端的运行环境,封装了Google V8引擎,V8引擎执行JavaScript速度非常快,性能非 ...

  2. FOR UPDATE

    1. for update的使用场景 `如果遇到存在高并发并且对于数据的准确性很有要求的场景,是需要了解和使用for update的.    比如涉及到金钱.库存等.一般这些操作都是很长一串并且是开启 ...

  3. 如何在IDEA启动多个Spring Boot工程实例

    在我讲解的案例中,经常一个工程启动多个实例,分别占用不同的端口,有很多读者百思不得其解,在博客上留言,给我发邮件,加我微信询问.所以有必要在博客上记录下,方便读者. step 1 在IDEA上点击Ap ...

  4. Jenkins使用Git Parameter插件打包

    一. 下载Git Parameter插件: 二. 项目配置: Shell脚本: #!/bin/bash -l echo $deploy_envcase $deploy_env in deploy) e ...

  5. It is the courage

    It is the reality that a society which becomes lower and becomes weak.Believe it or not,I think it i ...

  6. CF1143C Queen

    CF1143C Queen 开始想大力维护 \(bfs\) 序+数据结构解决,但 \(bfs\) 序的变化不太好推. 换了一个思路,注意到删除一个点后,原来可以被删除的点仍然可以被删除,原来不能被删除 ...

  7. 洛谷P4197 Peaks(Kruskal重构树 主席树)

    题意 题目链接 往后中文题就不翻译了qwq Sol 又是码农题..出题人这是强行把Kruskal重构树和主席树拼一块了啊.. 首先由于给出的限制条件是<=x,因此我们在最小生成树上走一定是最优的 ...

  8. zookeeper命名服务

    zookeeper概念 zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,底层组成单元是znode,对于zookeeper来说,所有的功能都是基于znode来实现的,因此有万物皆节点 ...

  9. linux下nginx安装、配置实战

    1什么是Nginx Nginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,在高连接并发的情况下Nginx是Apac ...

  10. python把指定目录下的递归所有目录和文件名转换成小写或大写

    cat convert.py #!/usr/bin/env python # -*- coding:utf-8 -*- import os, sys def convert(rootdir, opty ...