awk脚本提供结构化列表

分享于 

1分钟阅读

电脑

  繁體 雙語

问题:

我正在尝试创建awk脚本,可以为大于 1000的所有uid提供结构化的帐户信息。 这就是我尝试的: 这是预期的输出输出。


BEGIN { FS=":"}



$3>1000 && $3<2000 {print $1" uid:" $3" Full name:" $5" Home dir"$6" Shel :"$7}BEGIN { FS=":"} 



我得到的resualt。


回答 1:

这里的问题是awk正在解释uid作为字符串;你可以强制它用整数进行整数计算。

最简单的方法是在值中添加 0.

所以


$3 + 0> 1000 && $3 + 0 <2000



下面是一个好的awk参考: https://www.gnu.org/software/gawk/manual/html_node/Strings-And-Numbers.html#Strings-And-Numbers


回答 2:

尝试这个:


BEGIN { FS=":" }


{


 if($3> 1000 && $3 <2000){


 print $1


 print" uid:" $3


 print" Full name:" $5


 print" Home dir:" $6


 print" Shel:" $7


 }


}





str  lis  列表  Struct  结构  AWK