首頁>Club>
4
回覆列表
  • 1 # 使用者6992459975051

    你猜對了,BASH[$NF]++是用來計數的。

    BASH[$NF] 是awk的自定義陣列,如果陣列中原來沒有該索引,則會建立該索引並賦值為空(數值運算時則為0)。

    在該例中:比如第一個為 /bin/shell 陣列BASH中原來沒有 /bin/shell的索引,就建立一個,並++值為1;第二個仍然為/bin/shell 那麼已經存在該索引直接++值為2;第三個為/usr/bin/zsh BASH中沒有該索引,就建立一個,並開始計數 ......所以該條語句即為:讀取/etc/passwd中以:分割的第七段(使用者的預設shell),並對不同的shell進行計數。

    關於A BASH[A],我想你知道BASH為陣列後就不難理解了,A為索引,BASH[A]為索引A的值

    END是awk的一種模式,在所有應該處理的文字處理完後執行END{}中的動作,相應的還有BEGIN{}在處理文字前的執行動作。在END中使用for遍歷陣列輸出/etc/passwd檔案中的使用者不同的預設shell的個數

  • 中秋節和大豐收的關聯?
  • 誰知到從馬甸到海淀區志新東路怎麼坐車啊?