awk中使用shell的環境變數

2021-06-16 07:12:18 字數 769 閱讀 4407

原文摘自:

一:"'$var'"

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

var="test"

awk'begin'

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

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

var="this is a test"

awk'begin'

二:'"$var"'

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

三:export 變數,使用environ["var"]形式,  <= 這個在perl -e的時候也很好用。

如:$var="this is a test";export $var

awk'begin'

以上方法可以擴充套件,用於perl -e ,sed 等程式中傳遞變數。

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

<=  個人喜歡用這種寫法

如:$var="this is a test"

awk-v nvar="$var" ''

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

本文出自 「

king」 部落格,請務必保留此出處

awk中使用shell變數

其實在awk裡,是不能直接使用shell變數的 方法是 awk v 選項讓awk 裡使用shell變數 time 60 awk v time time begin 這樣要注意 在awk裡,time不能加 符號。網上說如下方法都可行 一 var 這種寫法大家無需改變用 括起awk程式的習慣,是老外常用...

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 命令

a.語法 awk output 指令 shell 接受的命令 如 print 1,2 sort k 1 b.語法 shell 接受的命令 awk input 指令 如 ls getline 注 awk input 指令只有 getline 乙個.awk output 指令有 print,printf...