【发布时间】:2017-08-17 02:30:19
【问题描述】:
我不是一个 awk 用户,但经过一些谷歌搜索后,确定它最适合我正在尝试做的事情......唯一的问题是,我无法让它工作。我正在尝试打印 sudoers 的内容,同时在 sudoers 条目之前插入服务器名称 ($i) 和逗号,因为我将其定向到 .csv 文件。
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
提前致谢
【问题讨论】:
-
... '{print var, $0}' ... -
我试过了,我明白了:awk: 非法字段 $(aappmab00001d01), name "var" input record number 1, file source line number 1 awk: no program given
-
请注意,@JamesBrown 建议使用
print var,而不是print $var。 awk 不是 shell,它的语法更类似于 C 而不是 shell。您得到的答案都没有解释您发布的输出中的awk: no program given,因此您可能还有另一个问题需要发现,可能与在您没有向我们展示的地方错误地使用引号(不匹配或错误类型的引号)有关。
标签: awk