как предлагает топик, как мне читать информацию из нескольких текстовых файлов и добавлять элементы только 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) После этого отсортируйте массив, если это возможно
Спасибо =)