2013-10-29 35 views
0

这里是我的问题:我如何输出从一个命令传递到另一个命令

Image

所以几乎我有这个问题的答案,你可以看到我需要使用使用AWK ,排序和加入命令,我能够使用命令获得我想要的答案的格式: awk -F: '{printf "%-22s\n", $2 }' departments AND awk -F: '{printf "%-6s\t %-38s\t %-1s\n", $1 $2 $3 }'课程。

我试过使用管道命令,并使用分号加入两个但没有运气,我卡住了,我不知道该怎么办,我一直在这个问题上工作了9个小时现在可悲的是,请帮助,你不必直接给我答案,但有点指向正确的方向。

+4

你能后你其实尝试过的代码,用管,什么结果是,你从它的预期? – vanza

+0

更好地粘贴文本,而不是图片[here](http://stackoverflow.com/posts/19648412/edit)。只需用4个空格缩进即可。这就是[mardown](http://en.wikipedia.org/wiki/Markdown)(如此操作)。 –

回答

0

gawk有一个asorti功能,你可以做整个事情gawk。例如:

gawk -F: -f genTab.awk departments courses 

其中genTab.awk

NR==FNR { 
    dep[$1]=$2; next 
} 

{ 
    desc[$1]=$2; cred[$1]=$3; dep2[$1]=dep[$4] 
} 

END { 
    nn = asorti(desc, ind) 
    for (i=1; i<=nn; i++) { 
     j=ind[i] 
     printf "%-22s%-6s%-38s%s\n", dep2[j],j,desc[j],cred[j] 
    } 
} 
相关问题