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

用過linux系統的伴侶都應該知道awk功能的壯大 , 那windows系統DOS下有沒有近似功能號令 , 可以或許獲取文件中或號令輸出文本中指定字段的值呢?謎底是必定的 , FOR 號令就可以或許實現該功能 。
方式/
1for號令在XP系統上就已經起頭存在了 , 它的功能也很壯大 , 可以完當作良多復雜的功能 。

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



2獲取字段值只是for號令浩繁功能中的一個 , 經由過程加參數“/f”來實現 。

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



3如文件students.txt內容如下:
姓名    春秋   成就
張三    18    80
【windows下如何實現類似awk獲取文件字段值功能】李四    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

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



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



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別離對應第一、二、三字段的值

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



5for號令還可以從號令輸出的成果中提出字段值 , 如從歷程列表中查找記事本notepad歷程并獲取PID的號令可如下:
for /f "usebackq tokens=2" %i in (`tasklist^|findstr notepad`) do echo %i
如需利用號令 , 必需利用“usebackq”參數 , 而且號令要用反引號符“`”(鍵盤上tab鍵上方的鍵)引起來 。 號令中若有特別字符 , 需在前面加“^”字符進行字符轉義 。

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



注重事項若是認為本經驗對您有所幫忙 , 請點擊下面【投票】撐持一下作者!
若是您想今后隨時瀏覽請點擊右下角飄浮按鈕【保藏】!若是您認為本經驗可以或許幫忙到您的伴侶 , 請點擊頁面右下角的雙箭頭進行分享 。

以上內容就是windows下如何實現類似awk獲取文件字段值功能的內容啦 , 希望對你有所幫助哦!

    猜你喜歡