AWK的內置變量


ARGC: number (2) 在命令行提供的參數的個數,不包括命令awk
ARGIND: number (0) 當前文件中正在處理的 ARGV 數組的索引值。 文件的位置,從1開始計數.一個文件處在1號位.第2個文件處在2號位.
ARGV: array, 2 elements 存儲命令行輸入參數的數組,如:["awk","{print}","1","2"]
BINMODE: number (0)
CONVFMT: string ("%.6g") 數據轉換為字符串的格式
ENVIRON: 與環境變量相關的關聯數組變量, ENVIRON["USER"]
ERRNO: number (0) 存儲當 getline 重定向失敗或者 close 函數調用失敗時的失敗信息
FIELDWIDTHS: string ("") 表示一個分割域之間的空格的寬度。當此變量被設置后, GAWK 將輸入的域之間的寬度處理為固定寬度,而不是使用 FS 的值作為域間的分割符。
FILENAME: string ("") 當前文件名稱,只能應用在結束塊,在開始塊中FILENAME未定義.
FNR: number (0) 該變量與 NR 類似,不過它是相對於當前文件而言的。此變量在處理多個文件輸入時有重要的作用。每當從新的文件中讀入時 FNR 都會被重新設置為 0。 當前文件的第幾行,切換文件時,從1開始從新計數.
FS: string (" ") 輸入的數據域之間的分隔符,其默認值是空格。 你可以使用 -F 命令行選項改變它的默認值
IGNORECASE: number (0) 當此變量被設置后,GAWK將變得大小寫不敏感。awk 'BEGIN{IGNORECASE=1} /amit/' marks.txt
LINT: number (0)
NF: number (0) 當前輸入記錄中域的數量。當前行有多少列.從1開始計數.當新行輸入時,清零.
NR: number (0) 當前記錄的數量.當前行是第幾行.從1開始計數
OFMT: string ("%.6g") 數值<<輸出>>的格式
OFS: string (" ") <<輸出>>域之間的分割符,其默認為空格
ORS: string ("\n") <<輸出>>記錄(行)之間的分割符,其默認值是換行符
PROCINFO 這是一個關聯數組變量,它保存了進程相關的信息。比如, 真正的和有效的 UID 值,進程 ID 值等等awk 'BEGIN { print PROCINFO["pid"] }'
RLENGTH: number (0) 表示 match 函數匹配的字符串長度。AWK 的 match 函數用於在輸入的字符串中搜索指定字符串.awk 'BEGIN { if (match("One Two Three", "re")) { print RLENGTH } }'
RS: string ("\n") 輸入記錄的分割符,其默認值為換行符。
RSTART: number (0) 表示由 match 函數匹配的字符串的第一個字符的位置。awk 'BEGIN { if (match("One Two Three", "Thre")) { print RSTART } }'
RT: string ("")
SUBSEP: string ("\034") 數組下標的分割行符,其默認值為 \034 。
TEXTDOMAIN: string ("messages")

$0 表示整個輸入記錄。當前整行文字字符串.
$n 表示當前輸入記錄的第 n 個域,這些域之間由 FS 分割。 當前行的第n段.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM