• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    windows下如何實現類似awk獲取文件字段值功能

    用過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鍵上方的鍵)引起來。號令中若有特別字符,需在前面加“^”字符進行字符轉義。

    注重事項

    • 若是認為本經驗對您有所幫忙,請點擊下面【投票】撐持一下作者!
    • 若是您想今后隨時瀏覽請點擊右下角飄浮按鈕【保藏】!若是您認為本經驗可以或許幫忙到您的伴侶,請點擊頁面右下角的雙箭頭進行分享。
    • 發表于 2018-06-25 00:00
    • 閱讀 ( 1299 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆