Linux awk命令无法运行求助:bash语法错误(意外符号'(')
解决awk命令的语法错误问题
这个报错的根源很明显——你命令里用了中文全角的单引号(‘’),而bash和awk只认英文半角的单引号('')!中文引号会被bash当成无效的特殊符号,所以才会提示靠近(的语法错误。
修正后的命令
把中文单引号替换成英文单引号就可以正常执行了:
awk -F: '{if($3>1000) print $1}' passwd | sort > users.txt
额外优化:更简洁的awk写法
其实awk支持直接把条件写在动作前面,不用显式写if,这样代码更简洁也不容易出错:
awk -F: '$3>1000 {print $1}' passwd | sort > users.txt
执行这条命令后,就能把passwd文件里UID大于1000的用户名提取出来,排序后写入users.txt文件啦。
内容的提问来源于stack exchange,提问作者Arne De Coninck
相关产品推荐
相关产品推荐

