Используя perl
:
$ echo 100000011100 | perl -nle '
for ($i = 0; $i < length()/2; $i++) {
print substr($_,$i,1), substr($_,$i+6,1);
}
'
10
01
01
01
00
00
, он работает для двух строк. Если вы хотите работать с произвольным количеством строк, вам следует обрабатывать строки напрямую, вместо того, чтобы строить большую строку. С этим вводом:
1 0 0 0 0 0
0 1 1 1 0 0
0 0 0 0 0 0
Попробуйте:
$ perl -anle '
for ($i = 0; $i <= $#F; $i++) {
push @{$h{$i}}, $F[$i];
}
END {
print @{$h{$_}} for keys %h;
}
' file
000
010
000
100
010
010
На основании этих первых 3-х сообщений будет выглядеть так, будто вам нужно обновить свою версию Perl как минимум до 5.12.3.
Perl version 5.012003 (5.12.3) is at least recommended to run ASSP 2.4.3
(14313) - you are running Perl version 5.010001 - please upgrade Perl
Perl version 5.012000 (5.12.0) is at least required to use the
unicode Bayesian/HMM engine of ASSP 2.4.3 (14313) - you are running
Perl version 5.010001 - please upgrade Perl
Я бы начал с этого. Как только вы получите это сообщение на 5.12.3 или выше, я бы подтвердил, что все модули, перечисленные в этом выводе, также установлены. С помощью CentOS можно часто устанавливать все модули Perl с помощью yum
.
При отсутствии пакета RPM для данного Perl-модуля я бы рекомендовал использовать cpanminus
для установки остальных. Он делает отличную работу по вытаскиванию зависимостей вместе с любым модулем, который вы пытаетесь установить.