Вот один способ:
$ paste index.txt data.txt |
awk '{for(i=2;i<=NF;i++){printf "%d\t", $1*$(i)}; print "";}'
1 2 3 4 5
4 6 8 10 12
9 12 15 18 21
16 20 24 28 32
25 30 35 40 45
36 42 48 54 60
49 56 62 70 77
64 72 80 88 96
paste
соединит соответствующие строки файла, поэтому индекс будет $ 1
в скриптлете awk
, который просто просматривает каждое поле и умножает его на текущее значение индекса.
Аналогичный, но немного более идиоматичный подход в Perl:
$ paste index.txt data.txt | perl -lane 'print join "\t",map{$_*$F[0]}@F[1..$#F]'
Текущий официальный образ Docker для CentOS содержит systemd
, но по умолчанию он неактивен. Это задокументировано на странице Docker Hub для образа CentOS .
Systemd is now included in both the centos:7 and centos:latest base containers, but it is not active by default. In order to use systemd, you will need to include text similar to the example Dockerfile below:
Предоставленный образец Dockerfile выглядит следующим образом:
FROM centos:7
ENV container docker
RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \
systemd-tmpfiles-setup.service ] || rm -f $i; done); \
rm -f /lib/systemd/system/multi-user.target.wants/*;\
rm -f /etc/systemd/system/*.wants/*;\
rm -f /lib/systemd/system/local-fs.target.wants/*; \
rm -f /lib/systemd/system/sockets.target.wants/*udev*; \
rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \
rm -f /lib/systemd/system/basic.target.wants/*;\
rm -f /lib/systemd/system/anaconda.target.wants/*;
VOLUME [ "/sys/fs/cgroup" ]
CMD ["/usr/sbin/init"]
При удалении этих файлов systemd
предотвращается запуск нескольких служб во время запуска контейнера. Этот подход приводит к голым -костям, но функциональным systemd
внутри контейнера.
Для запуска контейнера из этого образа также требуется специальный параметр для подключения тома cgroup
:
$ docker run -it -v /sys/fs/cgroup:/sys/fs/cgroup:ro systemd-app
Опция -v
bind монтирует каталог /sys/fs/cgroup
с хоста в контейнер в режиме -только для чтения.
Также отмечается, что на хостах Ubuntu может потребоваться дополнительная опция для корректной работы контейнера:
$ docker run -it -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /tmp/$(mktemp -d):/run systemd-app
Примечание. :Большая часть этого материала, включая сам файл Docker, по-видимому, взята из этой записи в блоге Дэниела Уолша:Запуск systemd в контейнере Docker .