亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux shell awk如何獲得外部變量

發布時間:2021-10-08 15:15:20 來源:億速云 閱讀:157 作者:小新 欄目:開發技術

這篇文章主要介紹linux shell awk如何獲得外部變量,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

AWK 提供了極其強大的功能:

  1. 可以進行正則表達式的匹配

  2. 樣式裝入

  3. 流控制

  4. 數學運算符

  5. 進程控制語句

  6. 內置的變量和函數

可以把awk看作一門完全的程序設計語言,它處理文本的速度是快得驚人的。現在很多基于shell 日志分析工具都可以用它完成。設計簡單,速度表現很好。 涉及到以上六個方面內容,我會在以后文章中加以介紹。 這次主要說下,怎么樣把外部變量傳入到awk執行語句中。

一、基礎:

awk [ -F re] [parameter...] ['pattern {action}' ] [-f progfile][in_file...]

awk一般語法如上面所說。

如:

代碼如下:


[chengmo@localhost ~]$ echo 'awk code' | awk 'BEGIN{print "start\n============="}{print $0}END{print "=========\nend"}'
start
=============
awk code
=========
end

在 awk中兩個特別的表達式,BEGIN和END,這兩者都可用于pattern中(參考前面的awk語法),提供BEGIN和END的作用是給程序賦予初始狀態和在程序結束之后執行一些掃尾的工作。任何在BEGIN之后列出的操作(在{}內)將在awk開始掃描輸入之前執行,而END之后列出的操作將在掃描完全部的輸入之后執行。因此,通常使用BEGIN來顯示變量和預置(初始化)變量,使用END來輸出最終結果。

二、獲得外部變量方法

1、獲得普通外部變量

代碼如下:


[chengmo@localhost ~]$ test='awk code'                           
[chengmo@localhost ~]$ echo | awk  '{print test}' test="$test"
awk code
[chengmo@localhost ~]$ echo | awk  test="$test" '{print test}'
awk: cmd. line:1: fatal: cannot open file `{print test}' for reading (No such file or directory)

格式如:awk ‘{action}'  變量名=變量值   ,這樣傳入變量,可以在action中獲得值。 注意:變量名與值放到'{action}'后面。

[chengmo@localhost ~]$ echo | awk  'BEGIN{print test}' test="$test"         

這種變量在:BEGIN的action不能獲得。

2.BEGIN程序塊中變量

代碼如下:


[chengmo@localhost ~]$ test='awk code'                                
[chengmo@localhost ~]$ echo | awk -v test="$test" 'BEGIN{print test}'
awk code
[chengmo@localhost ~]$ echo | awk -v test="$test" '{print test}'    
awk code

格式如:awk –v 變量名=變量值 [–v 變量2=值2 …] 'BEGIN{action}'  注意:用-v 傳入變量可以在3中類型的action 中都可以獲得到,但順序在  action前面。

3.獲得環境變量

代碼如下:


[chengmo@localhost ~]$ awk  'BEGIN{for (i in ENVIRON) {print i"="ENVIRON[i];}}'
AWKPATH=.:/usr/share/awk
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SELINUX_LEVEL_REQUESTED=
SELINUX_ROLE_REQUESTED=
LANG=en_US.UTF-8
....... 

只需要調用:awk內置變量 ENVIRON,就可以直接獲得環境變量。它是一個字典數組。環境變量名 就是它的鍵值。

以上是“linux shell awk如何獲得外部變量”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗甸县| 民县| 远安县| 萍乡市| 揭东县| 伊通| 木兰县| 诸暨市| 锦州市| 郯城县| 广水市| 辽阳县| 耒阳市| 景谷| 泗水县| 西乌珠穆沁旗| 抚顺市| 长寿区| 体育| 勃利县| 汕头市| 剑河县| 额济纳旗| 寿阳县| 夏津县| 金华市| 乐清市| 许昌县| 南召县| 萍乡市| 扎赉特旗| 鸡泽县| 特克斯县| 牙克石市| 三江| 堆龙德庆县| 密云县| 长沙市| 中宁县| 信宜市| 兴仁县|