【发布时间】:2021-06-02 10:27:20
【问题描述】:
早上好,我是脚本领域的新手,我遇到了这个问题,我不知道为什么会发生这种情况以及为什么我会出错,提前谢谢。
例如,我有这个命令可以搜索字母少 X 的用户:
cut -d: -f1 /etc/passwd | awk 'length($1) <= 4'
它可以正常工作,但是当我用 4 替换具有相同值的变量时,它做得不好:
number=4
echo -e $(cut -d: -f1 /etc/passwd | awk 'length($1) <= $number')
当我搜索有旧密码的用户时,我也遇到了同样的错误
awk -F: '{if($3<=18388)print$1}' < /etc/shadow
有效,但是当我使用该变量时它停止工作
variable=18388
awk -F: '{if($3<=$variable)print$1}' < /etc/shadow
【问题讨论】:
-
只需使用完整的 awk:
awk -F: -v number=4 'length($1) <= number { print $1 }' /etc/passwd。cut不是必需的。
标签: linux bash shell command-line scripting