当前位置:网站首页 > 创业 > 正文

windows下如何实现类似awk获取文件字段值功能

0 张子豪 张子豪 2025-10-11 21:37 1

用过linux系统的伴侣都应该知道awk功能的壮大,那windows系统DOS下有没有近似功能号令,可以或许获取文件中或号令输出文本中指心猿意马字段的值呢?谜底是必定的,FOR 号令就可以或许实现该功能。

方式/步调

  1. 1

    for号令在XP系统上就已经起头存在了,它的功能也很壮大,可以完当作良多复杂的功能。

  2. 2

    获取字段值只是for号令浩繁功能中的一个,经由过程加参数“/f”来实现。

  3. 3

    如文件students.txt内容如下:

    姓名    春秋   成就

    张三    18    80

    李四    19    86

    要取得所有人的春秋,可以用号令:

    for /f "skip=1 tokens=2" %i in (students.txt) do echo %i

    “skip=1 ”暗示跳过第一行,从第二行起头读取文件

    “tokens=2”暗示提取第二个字段值

    没有指心猿意马“delims”分隔符的值,利用默认分隔符——“空格和TAB键”作为各字段的分隔符。如需指心猿意马“,”作为分隔符,只需如下输入:

    for /f "skip=1 tokens=2 delims=," %i in (students.txt) do echo %i

  4. 4

    如需读取记实并将每笔记录按后面的格局生当作一句话:XXX本年XX岁,成就是XX。可以用号令:

    for /f "skip=1 tokens=1,2*" %i in (students.txt) do echo %i本年%j岁,成就是%k

    “tokens=1,2*”暗示提取第一、二字段,并将第二字段后的所有内容做为第三字段的值输出。

    %i,%j,%k别离对应第一、二、三字段的值

  5. 5

    for号令还可以从号令输出的成果中提出字段值,如从历程列表中查找记事本notepad历程并获取PID的号令可如下:

    for /f "usebackq tokens=2" %i in (`tasklist^|findstr notepad`) do echo %i

    如需利用号令,必需利用“usebackq”参数,而且号令要用反引号符“`”(键盘上tab键上方的键)引起来。号令中若有特别字符,需在前面加“^”字符进行字符转义。

注重事项

  • 若是认为本经验对您有所帮忙,请点击下面【投票】撑持一下作者!
  • 若是您想今后随时浏览请点击右下角飘浮按钮【保藏】!若是您认为本经验可以或许帮忙到您的伴侣,请点击页面右下角的双箭头进行分享。

来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!


本文链接:https://www.ibaiwen.com/web/231022.html

张子豪

张子豪

TA很懒,啥都没写...

@百闻娱乐 本站部分内容转自互联网,若有侵权等问题请及时与本站联系,我们将在第一时间删除处理。 | 粤ICP备2024343649号 | (地图