Linux / Unix - 管道输出加入

时间:2015-01-22 15:14:46

标签: linux unix join task

我是Linux / Unix的新手,我不时地做一些运动。 我正在做练习,直到我找到一个部分。

  

普通排序quotes.t5并输出要加入的输出。       在join use field separator中,从stdin和quotes.comms读取,输出到quotes.t6

问题是,我不明白这部分要求的是什么。

  

几天前我在服务器上运行了这个命令:

wget 'http://finance.yahoo.com/d/quotes.csv?s=BARC.L+0992.HK+RHT+AAPL+ADI+AEIS+AGNC+AMAT+AMGN+AMRN+ARCC+ARIA+ARNA+ATVI+BBRY+BIDU+BRCD+BRCM+BSFT+CENX+CERE+CMCSA+COCO+CSCO+CSIQ+CSOD+CTRP+CTSH+CYTX+DRYS+DTV+DXM+EA+EBAY+EGLE+ENDP+ESRX+EXPD+EXTR+FANG+FAST+FB+FCEL+FITB+FLEX+FOXA+FSLR+FTR+GALE+GERN+GILD+GMCR+GRPN+GTAT+HBAN+HDS+HIMX+HSOL+IMGN+INTC+JASO+JBLU+JDSU+KERX+LINE+LINTA+MDLZ+MNKD+MPEL+MSFT+MU+MXIM+MYL+NFLX+NIHD+NUAN+NVDA+ONNN+ORIG+OTEX+OXBT+PENN+PMCS+PSEC+QCOM+RBCN+REGN+RFMD+RSOL+SCTY+SINA+SIRI+SNDK+SPWR+SYMC+TSLA+TUES+TWGP+TXN+VOLC+WEN+YHOO+ZNGA&f=nab' -O quotes.csv
     

但是生成的文件quotes.csv不足以深入了解财务状况,所以我需要你的帮助!

     

检查点。完成本课程后,您必须明白这一点:

$ sha256sum -c quotesshasums
quotes.t1: OK
quotes.t2: OK
quotes.t3: OK
quotes.t4: OK
quotes.t5: OK
quotes.t6: OK
     
      
  • quotes.csv   我们有一个包含股票价格数据的源文件   行以CRLF终止,这不是Unix风格。让它终止LF。   意味着从每一行中删除CR(\ r)字节。为此,请使用sed(man sed)替代品   命令,输出到quotes.t1   更多信息,请访问http://en.wikipedia.org/wiki/Newline

  •   
  • 运行检查点以测试quotes.t1是否正常。

  •   
  • 使用head和tail命令输出除文件的第一行和最后一行之外的所有内容   quotes.t1 to quotes.t2

  •   
  • 使用竖线(竖线|)代替逗号分隔字段。

    sed -re 's/,([0-9.]+),([0-9.]+)/|\1|\2/g' quotes.t2 > quotes.t3
    
  •   
  • 按第三个字段(键)排序,不要忘记新的分隔符,输出到quotes.t4q   输出最后五行,将其删除,留下结果中的第一个和第三个字段。 quotes.t5

  •   
  • 简单地对quotes.t5进行排序并输出要加入的输出。   在连接使用字段分隔符中,从stdin和quotes.comms读取,输出到quotes.t6

  •   

如果需要,我可以发布本练习的所有部分,但我想你可能知道我需要在这部分做什么。 主要是我需要知道加入意味着什么。我在Google上搜索了这个,但我仍然没有得到它。

1 个答案:

答案 0 :(得分:6)

将评论的缩写版本转换为答案。

问题的原始版本询问:

  

普通排序quotes.t5并输出要加入的输出。   在join use field separator中,从stdin和quotes.comms读取,输出到quotes.t6

您需要知道join是一个命令。如果您将-指定为其两个输入文件名之一,它可以从标准输入读取。

在我看来,这些步骤非常简单:

sort quotes.t5 | join -t'|' - quotes.comm > quotes.t6

或者也许:

sort quotes.t5 | join -t'|' quotes.comm - >quotes.t6

我不知道你怎么知道哪个是必需的,除非将'读取标准输入和quotes.comms'解释为标准输入和quotes.comms秒。