我不是一個awk用戶,但經過一些谷歌搜索後,確定它最適合我所要做的事情......唯一的問題是,我無法讓它工作。我試圖在sudoers條目前插入服務器名稱($ i)和一個逗號以打印出sudoers的內容,因爲我將它指向一個.csv文件。試圖打印awk變量
egrep '^[aA-zZ]|^[%]' //$i/etc/sudoers | awk -v var="$i" '{print "$var," $0}' | tee -a $LOG
這是我得到的輸出:提前
$var,unixpvfn ALL = (root)NOPASSWD:/usr/bin/passwd
awk: no program given
感謝
'... '{VAR打印,$ 0}' ...' –
我試過了,我得到這個: AWK:非法場$(aappmab00001d01),名稱爲 「VAR」 輸入記錄編號1,文件 源代碼行號1 awk:沒有編寫程序 –
請注意,@JamesBrown建議'print var',而不是'print $ var'。 Awk不是shell,它的語法與C相比更加類似於shell。你得到的答案沒有一個在你的發佈的輸出中解釋'awk:no program given',所以你可能會發現另一個問題,可能與在你沒有向我們顯示的地方錯誤地使用引號(不匹配或錯誤類型的引號) 。 –