【发布时间】:2013-03-09 23:14:38
【问题描述】:
我正在尝试为匹配某些文本字段并以某种格式打印它们的作业制作一个 bash 脚本。我正在尝试获取课程编号、标题和学时数(从十进制转换为整数)并将其输出到名为 course_list 的文件中。
示例输入:
CSC 1010 - COMPUTERS & APPLICATIONS
Computers and Applications. Prerequisite: high school Algebra II. History of computers, hardware components, operating systems, application software, data communication.
3.000 Credit hours
这是我所拥有的:
#!/bin/bash
awk '/CSC/ {print $1$2","$4,$5,$6,$7,$8,$9} /[0-9].(000)/ {print substr(","$1,1,2)}' courses.txt | cat >> course_list
这是我得到的输出:
CSC1010,COMPUTERS & APPLICATIONS
,3
这是我想要的输出:
CSC1010,COMPUTERS & APPLICATIONS,3
我认为我已经很接近了,但我无法弄清楚如何在没有 \n 的情况下打印两个单独的匹配项。
【问题讨论】:
-
这个:
| cat >> course_list很有趣:你将输出传送到一个程序,该程序写入它接收到的内容,然后将其重定向到一个文件。只需省略| cat部分,它就会做同样的事情!