我试图做我的家庭作业仅限于使用sed
过滤输入文件输出的某种格式的grep信息。这里是输入文件(名为stocks
):我怎样写sed脚本从文本文件
Symbol;Name;Volume
================================================
BAC;Bank of America Corporation Com;238,059,612
CSCO;Cisco Systems, Inc.;28,159,455
INTC;Intel Corporation;22,501,784
MSFT;Microsoft Corporation;23,363,118
VZ;Verizon Communications Inc. Com;5,744,385
KO;Coca-Cola Company (The) Common;3,752,569
MMM;3M Company Common Stock;1,660,453
================================================
和输出必须是:我没有拿出一个解决方案
BAC, CSCO, INTC, MSFT, VZ, KO, MMM
,但它的效率不高。这里是我的sed
脚本(名为try.sed
):
/.*;.*;[0-9].*/ { N
N
N
N
N
N
s/\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*\n\(.*\);.*;.*/\1, \2, \3, \4, \5, \6, \7/gp
}
,我在shell中运行的命令是:
$ sed -nf try.sed stocks
我的问题是,有没有使用sed来得到相同的结果更好的办法?我写的脚本只能处理7行数据。如果数据更长,我需要重新修改我的脚本。我不知道如何让它更好,所以我在这里寻求帮助!
感谢您的任何建议。
+1承认这是功课和野生'S/\( 。* \); ...... /'你放进去的东西!祝你好运。 – shellter 2012-02-03 19:04:31