校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > linux shell awk獲得外部變量(變量傳值)簡介

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

熱門標簽:揭陽智能電話機器人推薦 百度地圖標注錯了有責任嗎 地圖標注員都是年輕人 如果做線上地圖標注 客服外呼系統怎么樣 河南信譽好的不封卡電話外呼系統 打電話機器人接我是他的秘書 江蘇云電銷機器人公司 華鋒e路航港口地圖標注
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里awk中split函數的用法小結
  • linux正則表達式awk詳解
  • 一天一個shell命令 linux文本內容操作系列-awk命令詳解
  • Linux中 sed 和 awk的用法詳解
  • linux awk時間計算腳本及awk命令詳解
  • linux之awk命令的用法
  • linux awk高級應用實例
  • Linux awk將文件某列按照逗號分隔的例子
  • Linux中awk的使用方法詳解

標簽:邵陽 馬鞍山 赤峰 婁底 淘寶邀評 金昌 許昌 巴彥淖爾

巨人網絡通訊聲明:本文標題《linux shell awk獲得外部變量(變量傳值)簡介》,本文關鍵詞  linux,shell,awk,獲得,外部,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux shell awk獲得外部變量(變量傳值)簡介》相關的同類信息!
  • 本頁收集關于linux shell awk獲得外部變量(變量傳值)簡介的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宁国市| 高邑县| 安西县| 三穗县| 克拉玛依市| 贵溪市| 英山县| 崇信县| 得荣县| 漾濞| 石台县| 锦屏县| 乐平市| 方正县| 林西县| 家居| 革吉县| 宣威市| 靖西县| 阜新市| 马关县| 溧水县| 揭东县| 吴堡县| 盐山县| 邮箱| 天台县| 青田县| 外汇| 兴义市| 蒙城县| 周宁县| 金华市| 延长县| 蕉岭县| 吴江市| 南木林县| 革吉县| 曲阜市| 渭南市| 井冈山市|