awk中使用shell變數

2021-09-20 22:26:25 字數 925 閱讀 8877

其實在awk裡,是不能直接使用shell變數的 

方法是:awk -v 選項讓awk 裡使用shell變數

time=60 

awk -v time="$time" 'begin '

這樣要注意:在awk裡,time不能加$符號。

網上說如下方法都可行:

一:"'$var'"

這種寫法大家無需改變用'括起awk程式的習慣,是老外常用的寫法.如:

var="test" 

awk 'begin'

這種寫法其實際是雙括號變為單括號的常量,傳遞給了awk.

如果var中含空格,為了shell不把空格作為分格符,便應該如下使用:

var="this is a test" 

awk 'begin'

二:'"$var"'

這種寫法與上一種類似.如果變數含空格,則變為'""$var""'較為可靠. 

三.把括起awk程式的''變為"",使用"$var"

如:

$

var="this is a test"

awk 'begin"

這是因為在""裡$是特殊字元,而在''裡$是普通字元.

四:export 變數,使用environ["var"]形式,

如:

$var="this is a test";export

$var

awk 'begin'

五:當然也可以使用-v選項

如:

$var="this is a test" 

awk -v nvar="$var"

''

這樣便把系統變數定義成了awk變數.

qianghong000

awk中使用shell變數

1 通過命令列引數定義變數時引用 awk v awk變數名 shell變數名 bin bash var4bash test awk v var4awk var4bash begin 2 在awk中直接引用,使用 var 注意使用前格式必須是先用單引號括住再用雙引號括住 bin bash var te...

awk中使用shell的環境變數

原文摘自 一 var 這種寫法大家無需改變用 括起awk程式的習慣,是老外常用的寫法.如 var test awk begin 這種寫法其實際是雙括號變為單括號的常量,傳遞給了awk.如果var中含空格,為了shell不把空格作為分格符,便應該如下使用 var this is a test awk ...

awk使用shell變數,shell獲取awk中

這裡提到awk,相信寫shell的朋友都會接觸到。awk 是一種用於處理文字的程式語言工具。awk 提供了極其強大的功能 可以進行正規表示式的匹配 樣式裝入 流控制數 算符 程序控制語句 內建的變數和函式 可以把awk看作一門完全的程式語言,它處理文字的速度是快得驚人的。現在很多基於shell 日誌...