正如主题所暗示的,如何从多个文本文件中读取信息,并且只在数组中添加元素 1 次,而不管它们是否在不同的文本文件中多次出现?
我从这个脚本开始,它按照它们在不同文档中出现的顺序读入并打印出所有元素。
例如,看看这 3 个包含以下数据的不同文本文件
文件 1:
2011-01-22 22:12 test1 22 1312 75 13.55 1399
2011-01-23 22:13 test4 22 1112 72 12.55 1499
文件 2:
2011-01-24 22:14 test1 21 1322 75 23.55 1599
2011-01-25 22:15 test2 23 2312 77 33.55 1699
文件 3:
2011-01-26 22:16 test2 20 1412 79 63.55 1799
2011-01-27 22:17 test5 12 1352 78 43.55 1999
我想检查当前元素是否已经添加到数组中,但就目前而言,我的脚本会打印出所有元素。
{
BUILDd[NR-1] = $3; len++
}
END {
SUBSYSTEM=substr(FILENAME, 1, length(FILENAME)-7)
LABEL= "\"" toupper(SUBSYSTEM) "\""
print "#{"
print "\"buildnames\": {"
print " \"label\": \"buildnames\","
print " \"data\": ["
for (i = 0 ; i <= len-1; i ++ ) {
if(i == len-1){print " [\"" BUILDd[i] "\"]"}
else
{ print " [\"" BUILDd[i] "\"],"}
}
print " ]"
print " }"
print "};"
}
给出这个输出
#{
"buildnames": {
"label": "buildnames",
"data": [
["test1"]
["test4"]
["test1"]
["test2"]
["test2"]
["test5"]
]
}
};
当我希望它给出以下内容时
#{
"buildnames": {
"label": "buildnames",
"data": [
["test1"]
["test2"]
["test4"]
["test5"]
]
}
};
1)换句话说,首先检查元素是否已经在数组中,如果没有,则添加它/它们
2)如果可能的话,之后对数组进行排序
谢谢 =)