linux下 awk內建變數使用介紹

2021-08-04 16:47:27 字數 1638 閱讀 4445

我們將逐漸揭開 awk 功能的神秘面紗,在本節中,我們將介紹 awk 內建built-in變數的概念。你可以在 awk 中使用兩種型別的變數,它們是:使用者自定義user-defined變數和內建變數。

我們將逐漸揭開 awk 功能的神秘面紗,在本節中,我們將介紹 awk 內建built-in變數的概念。你可以在 awk 中使用兩種型別的變數,它們是:使用者自定義user-defined變數和內建變數。awk 內建變數已經有預先定義的值了,但我們也可以謹慎地修改這些值.

awk 內建變數包括:

filename :

讓我們繼續演示一些使用上述 awk 內建變數的方法,想要讀取當前輸入檔案的名稱,你可以使用 filename 內建變數,如下:$ awk '  ' ~/domains.txt

你會看到,每一行都會對應輸出一次檔名,那是你使用 filename 內建變數時 awk 預設的行為。我們可以使用 nr 來統計乙個輸入檔案的行數(記錄),謹記:它也會計算空行,正如我們將要在下面的例子中看到的那樣。 輸出檔案內容 當我們使用 cat 命令檢視檔案 domains.txt 時,會發現它有 14 行文字和 2 個空行:$ cat ~/domains.txt

awk 統計行數:

$ awk ' end  ' ~/domains.txt
awk 統計檔案中的字段數:

fs 內建變數:

你也可以使用 fs 內建變數指定乙個輸入檔案分隔符,它會定義 awk 如何將輸入行劃分成欄位。fs 預設值為「空格」和「製表符」,但我們也能將 fs 值修改為任何字元來讓 awk 根據情況切分輸入行。有兩種方法可以達到目的:第一種方法是使用 fs 內建變數;第二種方法是使用 awk 的 -f 選項。來看 linux 系統上的 /etc/passwd 檔案,該檔案中的各字段是使用 冒號(:) 分隔的,因此,當我們想要過濾出某些欄位時,可以將冒號(:) 指定為新的輸入字段分隔符, awk 過濾密碼檔案中的各欄位 . 我們可以使用 -f 選項,如下:$ awk -f':' '' /etc/passwd

此外,我們也可以利用 fs 內建變數,如下:$ awk ' begin   ' /etc/passwd

使用 ofs 內建變數:

使用 ofs 內建變數來指定乙個用於輸出的字段分隔符,它會定義如何使用指定的字元分隔輸出字  段 使用 awk輸出的分隔符:  $ awk -f':' ' begin  ' /etc/passwd

在本節中,我們已經學習了使用含有預定義值的 awk 內建變數的理念。但我們也能夠修改這些值,雖然並不推薦這樣做,除非你明白自己在做什麼,並且充分理解(這些變數值)。

awk 系列 如何使用 awk 內建變數

我們將逐漸揭開 awk 功能的神秘面紗,在本節中,我們將介紹 awk 內建built in變數的概念。你可以在 awk 中使用兩種型別的變數,它們是 使用者自定義user defined變數 我們在第八節中已經介紹了 和內建變數。awk 內建變數示例 awk 內建變數已經有預先定義的值了,但我們也可...

awk內建變數和函式

幾乎內建變數每次用到都要查一下,乾脆統計下發上來供以後查詢 內建變數 argc 命令列引數個數 argv 命令列引數排列 environ 支援佇列中系統環境變數的使用 filename awk瀏覽的檔名 fnr 瀏覽檔案的記錄數 fs 設定輸入域分隔符,等價於命令列 f選項 nf 瀏覽記錄的域個數 ...

awk(四) 常用內建變數

以下為awk內建變數 argc 命令列引數個數 filename 當前輸入文件的名稱 fnr 當前輸入文件的當前記錄編號,尤其當有多個輸入文件時有用 nr 輸入流的當前記錄編號 nf 當前記錄的字段個數 fs f 字段分隔符 awk f etc passwd awk begin etc passwd...