Наконец-то я решил проблему
1 -Загрузите пакет rpm.rte с сайта IBM и выполните:
installp -aXYF -d /path/to/rpm/rpm_rte rpm.rte
2 -Загрузите полный zip-пакет gcc для aix6.1 (94 МБ )с сайта bullfreeware.com, распакуйте его в папку и установите, используя
rpm -Uvh *rpm
3 -Загрузите полный пакет git zip, за исключением пакетов, установленных на последнем шаге (130 МБ )и установите его, как на шаге 2, и выполните это:
export LIBPATH=/opt/freeware/lib64:/opt/freeware/lib:/usr/lib
4 -Загрузите и установите cpio с сайта bullfreeware.com и выполните шаги, относящиеся к 2018 -17 января, чтобы устранить проблему с libintl.so.9, подобную этой:
rpm2cpio gettext-0.19.8-1.aix6.1.ppc.rpm | /opt/freeware/bin/cpio -iv opt/freeware/lib/libintl.a
--> opt/freeware/lib/libintl.a
# ar xv opt/freeware/lib/libintl.a libintl.so.9
x - libintl.so.9
# ar q /opt/freeware/lib/libintl.a libintl.so.9
# ar -X64 xv opt/freeware/lib/libintl.a libintl.so.9
x - libintl.so.9
# ar -X64 q /opt/freeware/lib/libintl.a libintl.so.9
Я установил cdrecord, vnc и mkisofs только потому, что они были установлены в прошлый раз. Окончательный запрос по rpm был таким:
root@srv:/ins>rpm -qa
cdrecord-1.9-7.ppc
libgcc-8.3.0-1.ppc
libstdc++-8.3.0-1.ppc
mpfr-3.1.4-1.ppc
libmpc-1.0.3-2.ppc
libffi-3.2.1-2.ppc
libxml2-2.9.4-2.ppc
libiconv-1.14-22.ppc
bash-4.4-4.ppc
gcc-8.3.0-1.ppc
vnc-3.3.3r2-6.ppc
mkisofs-1.13-4.ppc
db-4.8.24-4.ppc
perl-5.28.0-1.ppc
expat-2.2.6-1.ppc
sqlite-3.7.15.2-3.ppc
rsync-3.1.2-3.ppc
unixODBC-2.3.6-2.ppc
libidn-1.35-1.ppc
less-481-1.ppc
python-2.7.15-5.ppc
git-2.21.0-6.ppc
lynx-2.8.4-2.ppc
AIX-rpm-6.1.8.15-7.ppc
zlib-1.2.11-1.ppc
gmp-6.1.1-1.ppc
ncurses-6.1-1.ppc
xz-libs-5.2.2-2.ppc
glib2-2.48.1-2.ppc
libunistring-0.9.6-2.ppc
gettext-0.19.8-1.ppc
info-6.4-1.ppc
gcc-cpp-8.3.0-1.ppc
unzip-6.0-3.ppc
readline-7.0-1.ppc
gdbm-1.10-1.ppc
openssl-1.1.0g-1withsslv2.ppc
libssh2-1.8.0-1.ppc
vim-common-7.4-4.ppc
libtool-ltdl-2.4.6-2.ppc
openldap-2.4.44-5.ppc
curl-7.64.0-1ldapssl.ppc
bzip2-1.0.6-2.ppc
vim-enhanced-7.4-4.ppc
cpio-2.12-2.ppc
4 -Теперь извлеките tar-файл node.js в aix и выполните это:
export PATH=$PATH:/path/to/nodejs/bin
5 -Наконец-то готово
node app.js
Вы хотите напечатать только дату или всю строку, содержащую дату?
Чтобы напечатать всю строку, я бы использовал grep '\[1/24/21 9:19:20:183 MYT\]' file
, но если вы настаиваете на использовании sed
, это можно сделать с помощью sed -n '/\[1\/24\/21 9:19:20:183 MYT\]/p' file
.
РЕДАКТИРОВАТЬ :Уродливых обратных косых черт можно избежать с помощью grep -F
, как предложил пользователь freddy в первом комментарии ниже.
Опция -n
обеспечивает отображение строк только в том случае, если они явно напечатаны программой sed
. Команда p
явно печатает строку.
Чтобы печатать только дату, grep
также является лучшим решением. Вы просто добавляете опцию -o
или --only-matching
. Это также должно быть возможно с sed
, но требует большего мастерства, чем у меня есть.
РЕДАКТИРОВАТЬ :OP на самом деле имеет другое требование и изменил вопрос. Вы можете указать диапазон строк sed
. «от строки, содержащей [1/24/21 9 :19 :20 :183 MYT] до конца» записывается как /\[1\/24\/21 9:19:20:183 MYT\]/,$
. Знак доллара указывает на последнюю строку.Итак:
sed -n '/\[1\/24\/21 9:19:20:183 MYT\]/,$p' file
Если это не обязательно sed
, будет работать следующая awk
программа:
awk -v start="[1/24/21 9:19:20:183 MYT]" 'index($0,start)==1{f=1} f' file
Это будет анализировать файл, пока не будет найдена строка, начинающаяся со строки, указанной в переменной start
. После обнаружения он устанавливает флаг f
в 1. Строки печатаются только в том случае, если этот флаг установлен.
Это предполагает строгий временной порядок записей, т. е. вы не можете иметь «более ранние» метки времени после строки с меткой времени start
. Хотя маловероятно, это возможно в случае буферизованного ведения журнала.