Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash awk正则表达式while循环_Bash_Awk - Fatal编程技术网

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命令,因为你有正确的,应该可以