[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助批处理循环处理行的第一列输出对应的第二列

文件名jobnamecheck.txt。
100034::0
100056::2
100047::4
100021::0

需求如下:以::做分割,批处理第一列,然后根据第一列的某个参数能输出对应的第二列的数据。麻烦大佬帮忙写个bat脚本我只会linux的。linux的命令是这样的:
  1. #!/bin/bash
  2. function check() {
  3.   status=(` cat /tmp/jobnamecheck.txt|grep "^$1::"|awk -F '::' '{print $2}'`)
  4.   printf "$status"
  5. }
  6. $1 $2
复制代码

回复 3# netdzb


    这个就属于linux的正则了,grep ‘^$1::’ 就是以::做分隔符匹配出第一列,^的作用就是为了第一列的数字绝句匹配,这一行简单理解就是,以::做分隔符循环匹配第一列,输出对应的第二列

TOP

回复 5# went
大佬,能不能做成这样ceshi.bat 后面跟第一列的任意数据,就能输出对应的第二列数据。
示例
ceshi.bat 100056    输出2

TOP

回复 12# went
大佬,我再多问一句,这个文件里的两列数据是不是分别用%%i、%%j表示的,求解答

TOP

回复 14# bailong360

有是有,gawk我装好了,grep总是安装不好,环境变量不知道怎么配

TOP

返回列表