Только для части транспонирования у меня недавно была аналогичная проблема, и я использовал:
awk -v fmt='\t%4s' '{ for(i=1;i<=NF;i++){ a[i]=a[i] sprintf(fmt, $i); } } END { for (i in a) print a[i]; }'
При необходимости отрегулируйте FMT. Для каждой входной строки он объединяет каждое поле в элемент массива. Обратите внимание, что конкатенация строк в awk неявна: это происходит, когда вы пишете две вещи без какого-либо оператора.
Пример ввода / вывода:
i mark accep igna utaal bta
-22 -10 -10 -20 -10 -10
-21 -10 -10 -20 -10 -10
-20 -10 -10 -20 -10 -10
-19 -10 0 -10 -10 -10
-18 0 0 -10 0 0
-12 0 0 -10 0 0
-11 0 0 -10 0 0
-10 0 0 -10 0 0
вывод:
i -22 -21 -20 -19 -18 -12 -11 -10
mark -10 -10 -10 -10 0 0 0 0
accep -10 -10 -10 0 0 0 0 0
igna -20 -20 -20 -10 -10 -10 -10 -10
utaal -10 -10 -10 -10 0 0 0 0
bta -10 -10 -10 -10 0 0 0 0
Вы добавили репозиторий PowerShell, но он предоставляет только amd64
двоичные файлы (, как указано в квалификаторе архитектуры, который Microsoft рекомендует вам включить ). Вы не можете запускать двоичные файлы на вашей 32-битной системе -... То есть, если ваш процессор не поддерживает 64-битный -режим (, что вы можете проверить, найдя lm
во флагах процессора в /proc/cpuinfo
), и вы соответствующим образом настроите свою систему.
(Если вы используете действующую систему Kali, вместо этого вы можете перезагрузиться в 64-битную -битную установку Kali.)
Следующие инструкции не относятся к -Kali, они будут работать на любой производной Debian.
Чтобы добавить поддержку 64 -бит:
включитьamd64
:
dpkg --add-architecture amd64
убедитесь, что ваша система обновлена -до -даты:
apt update && apt upgade
установите соответствующее ядро (это зависит от установленного дистрибутива и текущего -действующего ядра; запустите uname -r
, чтобы получить представление об имени пакета для использования):
apt install linux-image-4.19.0-kali4-amd64
перезагружаемся и в дополнительных параметрах в меню Grub выбираем amd64
ядро
поскольку репозиторий Microsoft PowerShell основан на Debian 9, вам может потребоваться добавить соответствующий репозиторий (это обычно не рекомендуется при установке Kali, но Kali сами документируют это , так что...):
echo deb http://deb.debian.org/debian stretch main > /etc/apt/sources.list.d/stretch.list
(теперь это необходимо в Kali, потому что пакет libicu57
там больше не доступен, поэтому вам придется сделать это, даже если вы следовали руководству по установке Kali PowerShell)
повторите обновление и установите PowerShell:
apt update && apt install powershell
Теперь вы по-прежнему будете использовать в основном 32-битную -битную установку, но с возможностью установки 64-битных -пакетов, где это необходимо.
Вы успешно добавили репозиторий Powershell в свой sources.list
.
Тем не менее,вы сообщаете, что используете систему с 32-битной архитектурой -. Ваш вывод apt-cache
подтверждает, что ваши репозитории не содержат пакет Powershell.
При просмотре Powershell GitHub выяснилось, что Microsoft не предоставляет пакет Linux для Powershell для 32-разрядных -систем Linux. Все исходные тексты и бинарные пакеты, доступные здесь для Linux, предназначены для 64 -битных систем.
Как отмечает в своем комментарии пользователь Bob, Powershell для Linux зависит от .Net Core .
Если вы знакомы со сборкой из исходного кода, вы потенциально можете собрать 32-битный -пакет, но это вопрос другого рода. На самом деле это может не сработать, поскольку Powershell может предъявлять жесткие требования к 64-битным -инструкциям и оптимизациям.