Bash awk正则表达式while循环
我想用正则表达式写一个循环,有人能帮我吗Bash awk正则表达式while循环,bash,awk,Bash,Awk,我想用正则表达式写一个循环,有人能帮我吗 #!/bin/bash while read line do done 一个awk脚本就可以了,不需要而需要循环 $ awk -F: '$3>=1000{print $1 (($7=="/bin/bash")?"":"*")}' /etc/passwd 为什么你在读第行时做?您希望用户提供什么样的输入?似乎“bin/bash”也应该是“/bin/bash”是因为我还是在第二个awk中缺少(单个)报价?如果[“$line”=“q”],您可以添
#!/bin/bash
while read line
do
done
一个
awk
脚本就可以了,不需要而需要循环
$ awk -F: '$3>=1000{print $1 (($7=="/bin/bash")?"":"*")}' /etc/passwd
为什么你在读第行时做?您希望用户提供什么样的输入?似乎“bin/bash”也应该是“/bin/bash”是因为我还是在第二个awk中缺少(单个)报价?如果[“$line”=“q”],您可以添加;然后退出;fi
到你的循环。你为什么需要循环?您的awk打印正在按照您的要求完成工作。您好,只需在Linux终端上运行以下测试。awk-F:'$3>=1000&&$7==“/bin/bash”{print$1}'/etc/passwd awk-F:'$3>=1000&&$7!=“/bin/bash“{print$1”*”}/etc/passwd我确信您的脚本应该只是两个awk命令。至少你不会陷入无限循环。请原谅我没有完全格式化的awk命令,因为你有正确的,应该可以