1、通過命令列引數定義變數時引用:
awk -v awk變數名= shell變數名
#!/bin/bash
var4bash=test
awk -v var4awk="$var4bash" 'begin '
2、在awk中直接引用,使用"'$var'" ,注意使用前格式必須是先用單引號括住再用雙引號括住:
#!/bin/bash
var=test
awk 'begin '
注意:如果var有空格、轉義字元等特殊字元,最好在$var外再用乙個雙引號括住: "'"$var"'"
另外,如果不是用指令碼檔案方式執行,直接在shell裡執行,需要先用export var=test 匯出為環境變數,
這樣其後的awk子程序才會有該變數。
awk 變數傳到shell
今天之前的同事問我乙個關於awk的問題。他的意思是通過awk操作獲得的幾行資料是不定的,需要將獲得的幾行資料存到乙個陣列中,又不想使用迴圈。經過一下午的努力。終於實現了。最終命行eval ps ef grep tomcat awk sed home d sed s home g sed s g aw...
awk使用shell變數,shell獲取awk中
這裡提到awk,相信寫shell的朋友都會接觸到。awk 是一種用於處理文字的程式語言工具。awk 提供了極其強大的功能 可以進行正規表示式的匹配 樣式裝入 流控制數 算符 程序控制語句 內建的變數和函式 可以把awk看作一門完全的程式語言,它處理文字的速度是快得驚人的。現在很多基於shell 日誌...
awk中使用shell變數
其實在awk裡,是不能直接使用shell變數的 方法是 awk v 選項讓awk 裡使用shell變數 time 60 awk v time time begin 這樣要注意 在awk裡,time不能加 符號。網上說如下方法都可行 一 var 這種寫法大家無需改變用 括起awk程式的習慣,是老外常用...