国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

linux shell awk獲得外部變量(變量傳值)簡(jiǎn)介

2019-10-26 18:37:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
AWK 提供了極其強(qiáng)大的功能:
    可以進(jìn)行正則表達(dá)式的匹配 樣式裝入 流控制 數(shù)學(xué)運(yùn)算符 進(jìn)程控制語(yǔ)句 內(nèi)置的變量和函數(shù)

可以把a(bǔ)wk看作一門(mén)完全的程序設(shè)計(jì)語(yǔ)言,它處理文本的速度是快得驚人的。現(xiàn)在很多基于shell 日志分析工具都可以用它完成。設(shè)計(jì)簡(jiǎn)單,速度表現(xiàn)很好。 涉及到以上六個(gè)方面內(nèi)容,我會(huì)在以后文章中加以介紹。 這次主要說(shuō)下,怎么樣把外部變量傳入到awk執(zhí)行語(yǔ)句中。

一、基礎(chǔ):

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

awk一般語(yǔ)法如上面所說(shuō)。

如:

代碼如下:
[chengmo@localhost ~]$ echo 'awk code' | awk 'BEGIN{print "start/n============="}{print $0}END{print "=========/nend"}'
start
=============
awk code
=========
end

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

二、獲得外部變量方法

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中類(lèi)型的action 中都可以獲得到,但順序在  action前面。

3.獲得環(huán)境變量

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 鸡东县| 区。| 泗洪县| 凤庆县| 临澧县| 综艺| 凤翔县| 湘潭县| 襄樊市| 衡水市| 甘孜县| 周宁县| 阿拉善左旗| 永靖县| 潜山县| 榆社县| 宣化县| 秦安县| 盐山县| 章丘市| 徐州市| 五台县| 张家界市| 莱芜市| 正蓝旗| 绍兴市| 柯坪县| 达日县| 利津县| 大余县| 桐梓县| 揭阳市| 乐业县| 襄樊市| 沁源县| 长武县| 泽库县| 长武县| 曲靖市| 汾西县| 武川县|