grep信息并保存为Excel可读的文件?

时间:2012-09-10 09:47:48

标签: excel csv awk grep

我有以下文件

There is a group of Lion in the forest. There are 3 active. There are 1 sleeping

  Lion1 is talking to Lion2
  Lion2 is talking to Lion3
  Lion3 is touching Lion1

There is a group of Turtle in the forest. There are 1 active. There are 0 sleeping

There is a group of Monkey in the forest. There are 4 active. There are 0 sleeping

  Monkey1 is talking to Monkey3
  Monkey4 is jumping about

There is a group of Panda in the forest. There are 2 active. There are 1 sleeping

There is a group of Owl in the forest. There are 5 active. There are 4 sleeping

我使用了以下命令:

grep "There is a group" | awk '{print substr($0,10)}'

我得到以下

Lion in the forest. There are 3 active. There are 1 sleeping
Turtle in the forest. There are 1 active. There are 0 sleeping
Monkey in the forest. There are 4 active. There are 0 sleeping
Panda in the forest. There are 2 active. There are 1 sleeping
Owl in the forest. There are 5 active. There are 4 sleeping

问题

我应该如何修改我的grep和awk命令,以便得到以下结果:

Lion, 3, 1
Turtle, 1, 0
Monkey, 4, 0
Panda, 2, 1
Owl, 5, 4

结果将存储到将由Microsoft Excel读取的文件中。在Microsoft Excel中,我将能够看到如下三列:

===========================
|  Lion       |  3  |  1  |
|  Turtle     |  1  |  0  |
|  Monkey     |  4  |  0  |
|  Panda      |  2  |  1  |
|  Owl        |  5  |  4  |
===========================

感谢任何帮助渲染。

1 个答案:

答案 0 :(得分:6)

根据数据的规律性,您可以直接通过替换:

来解决这些字段
grep "There is a group" | awk '{print substr($0,10)}'

awk -v OFS=', ' '/There is a group/ { print $6, $12, $16 }'

输出:

Lion, 3, 1
Turtle, 1, 0
Monkey, 4, 0
Panda, 2, 1
Owl, 5, 4