For loop 如何在awk中使用forloops打印数据库列

For loop 如何在awk中使用forloops打印数据库列,for-loop,awk,For Loop,Awk,大家好,我刚刚开始学习awk,我面临一个问题 这是我的数据 james 31 mary 22 john 28 我想打印一些像“mary age is 22”这样的东西,使用我编写的代码中的for循环 { for (i=1 ;i<=FNR ;i++) { FNR == i {print $1 " age is " $2} } } { 对于(i=1;i您需要删除for循环。A

大家好,我刚刚开始学习awk,我面临一个问题 这是我的数据

    james         31 
    mary          22 
    john          28
我想打印一些像“mary age is 22”这样的东西,使用我编写的代码中的for循环

{
  for (i=1 ;i<=FNR ;i++)
    { 
     FNR == i {print $1 " age is " $2}  
    }
}
{

对于(i=1;i您需要删除for循环。Awk会自动执行此操作

给定名为name的文件:

james,31 
mary,22 
john,28
您只需在命令行中执行此操作:

awk -F ',' 'FNR == 2 {print $1 " age is " $2}' names
这将给

mary age is 22 

您不必为此执行复杂的逻辑。请参见以下示例:

kent$  echo "  james         31 
dquote>     mary          22 
dquote>     john          28
dquote> "|awk 'BEGIN{OFS=" age is "}$1=$1'

james age is 31
mary age is 22
john age is 28