如何将输出从一个命令传输到另一个命令

时间:2013-10-29 02:06:43

标签: sorting join awk pipe

这是我的问题:

Image

所以我有这个问题要回答,因为你可以看到我需要使用awk,sort和join命令,我能够使用命令获得我想要的答案格式: awk -F: '{printf "%-22s\n", $2 }' departmentsawk -F: '{printf "%-6s\t %-38s\t %-1s\n", $1 $2 $3 }'课程。

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

2 个答案:

答案 0 :(得分:0)

“|”管道是我会用的。

请参阅:http://computer-programming-forum.com/11-awk/36867b18c8ac7390.htm

答案 1 :(得分: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]
    }
}