【发布时间】:2016-12-25 19:25:17
【问题描述】:
我有一个这样的输入文件。
dog
cat
bird
fish
我有一个这样的主文件。每行有不同数量的字段,但以三个为增量(所以 3,6,9,12,... 字段)
dog bird 123 asdf 456 cloud sam 4444 barbara
bird sdf asdf
asdf 123 fdsa cat asdff 1223sdf
aaaa fish ffff ffff fish aaaa
我希望程序在输入列表中有匹配项时搜索输入文件并打印出整行。诀窍是我不想检查主文件中的所有列,只检查每个三元组的第一列 - 如下所示。
从输入列表中检查第 1 列、第 4 列或第 7 列是否匹配。
- 所以单词 dog 匹配第一行的第 1 列 -
- 所以单词 cat 匹配第三行的第 4 列 -
- 所以单词 bird 匹配第二行的第 1 列 -
- fish 一词与第 1、4 或 7 列不匹配 - 所以不算数
有意义吗?我找到了一种在 awk 中执行此操作的方法,但它涉及将数组作为参数发送,并且将数组解析出来相当棘手。
帮助?
【问题讨论】: