Несколько случайных подсказок в зависимости от фактического форматирования данных и других вопросов...
Как разделены поля данных? (Первые три пробела создают впечатление, что между ними находится символ ТАБ, в то время как последние столбцы кажутся разделенными пробелами). Следует помнить, что информация из столбцов теряется для кульминации 4-N, если по умолчанию задан разделитель полей. Поэтому логика вашего кода серьезно нарушена.
Если у вас нет TAB-разделителей, но все пробелы вы можете использовать функцию GNU awk
FIELDWIDTHS
для доступа к данным (включая отсутствующие "пустые" данные, как вы, кажется, пытаетесь достичь).
Если у вас есть ТАБы для первых трех разделителей и пробелы для остальных, вы должны определить FS="\t"
, чтобы вы могли непосредственно работать с полями 1-3 и чтобы пробелы оставались неповрежденными в конечных данных (к которым вы можете обращаться в целом как к полю 4), что облегчит поиск "пустых данных".
Это может еще больше облегчить обработку, если вы создаете подмножества ваших данных "на лету", оперируете ими, а затем объедините отдельные подмножества. Для разделения данных в файлах, лежащих, скажем, в году и инструменте, можно записать:
awk '{ print > "set_" $1 "_" $3" }' input
и он создаст файлы с именами, например, set_2015_LEN
или set_2014_IBM
, в которых будут содержаться соответствующие записи.
Итоговое задание по идентификации "соответствующих наборов числовых столбцов" зависит от вышеупомянутых тем; если, например, конечные восьмиугольные столбцы данных могут быть адресованы как один объект фиксированной длины, то может оказаться достаточным использовать утилиту sort
с соответствующим ключом-спецификацией (см. опцию sort
-k
)).
(BTW: для проверки составного индекса вместо 1,2,3$ в arr1
нужно написать (1,2,3$) в arr1
)
Мне нужно было включить nf_conntrack_ipv4
:
[root@plop ~]# modprobe nf_conntrack_ipv4
[root@plop ~]# lsmod | grep nf_conntrack
nf_conntrack_ipv4 9506 0
nf_defrag_ipv4 1483 1 nf_conntrack_ipv4
nf_conntrack_ipv6 8748 2
nf_defrag_ipv6 11182 1 nf_conntrack_ipv6
nf_conntrack 79758 3 nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state
ipv6 317340 28 sctp,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6