【发布时间】:2016-06-23 22:50:08
【问题描述】:
我对 Linux / Unix 非常陌生,有时我会做一些练习。 我一直在练习,直到我达到一个部分。
对quotes.t5 进行简单排序并将输出通过管道连接起来。 在join中使用字段分隔符,从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 命令输出除文件的第一行和最后一行之外的所有内容 引号.t1 到引号.t2
使用竖线(竖线|)而不是逗号分隔字段。
sed -re 's/,([0-9.]+),([0-9.]+)/|\1|\2/g' quotes.t2 > quotes.t3按第三个字段(key)进行数字排序,不要忘记新的分隔符,输出到quotes.t4q 输出最后五行,将其剪切,在结果中留下第一和第三字段。
quotes.t5对quotes.t5 进行简单排序并将输出通过管道连接起来。 在join中使用字段分隔符,从stdin和quotes.comms中读取,输出到quotes.t6
如果需要,我可以发布这个练习的所有部分,但我想你可能知道我需要在这部分做什么。 主要是我需要知道加入意味着什么。我在谷歌上搜索过这个,但我还是不明白。
【问题讨论】:
-
join是一个复杂的命令,需要对输入进行排序。如果您将-指定为其两个输入文件名之一,它可以从标准输入中读取。 -
嗯...在主帖中我将编辑任务,并发布我的完整练习
-
您原来的问题很好。您是否创建了
quotes.t5并检查它是否正常?如果是这样,那么我认为“普通排序”只是意味着“运行sort没有选项”。您需要阅读join的手册。有一个选项可以指定字段分隔符,您可能不需要指定除此之外的任何内容和文件名。从更新的问题中不清楚给出了哪些部分以及哪些部分是您的答案。你当然应该展示你到目前为止所拥有的东西。我建议“取消缩进”问题文本,也许在行首使用>来引用它。 -
是的,除了quotes.t6(因为我知道如何制作)之外,我对所有这些都没有问题,基本上我需要了解
Plain sort quotes.t5 and pipe the output to join. In join use field separator, read from stdin and from quotes.comms, output to quotes.t6这是要我做什么。到目前为止我所拥有的是quotes.comms quotesshasums quotes.t1 to quotes.t5我不知道如何更好地解释这一点。 -
如果有必要解决这个问题,我会通过电子邮件发送我拥有的所有文件。