从多节文件中提取列

时间:2016-10-11 19:33:41

标签: linux bash

不确定在标题部分写什么。我有一个场景,我想从多节文件中提取特定列。例如:

unit     id     ip
32       43     5.5.5.1

machine  price
431-P    45k
S-34     10k

我想在机器列下提取内容。知道我怎么能这样做吗?

1 个答案:

答案 0 :(得分:1)

如果机器部分是最后一部分,就像在您的示例中那样,那么您可以使用awk在记录的第一个字段中查找machine,并打印在该点之后找到的任何记录:

 awk '$1=="machine"{machineSection=1}machineSection==1{print $0}' test.txt

此测试第一个字段$1以查看它是否为machine。如果是,那么它将machineSection变量设置为1.然后它测试machineSection变量是否为1然后它将打印出记录。