Изменить символ в столбце в зависимости от инструкции из другого столбца

Итак, я закончил с тем, что показано ниже, кажется, работает, было бы неплохо, если бы -u поддерживал больше пакеты, просмотр многих может замедлиться.

/ etc / apt / watch текстовый файл с одним именем пакета для строки (поддерживается # комментариев)

/usr/local/bin/apt-watch.sh :

#!/bin/sh

test -f /etc/apt/watch || exit 0

apt-show-versions -u $(grep -v ^# /etc/apt/watch) >/tmp/apt.watch
if [ $(cat /tmp/apt.watch | wc -l) -gt 0 ] ; then
    cat /tmp/apt.watch | mail root -s '[apt watch] upgrades available'
fi

/ etc /apt/apt.conf.d/99-apt-watch:

# check upgrades avaiable for watched packages
APT::Update::Post-Invoke { "[ ! -x /usr/local/bin/apt-watch.sh ] || /usr/local/bin/apt-watch.sh || true"; };
2
02.01.2018, 20:11
1 ответ

Раствор перла:

perl -lane 'substr $n = $F[2], $F[3] - 1, 1, $F[5]; print join "\t", $_, $n' -- file
  • -nсчитывает ввод построчно
  • -lудаляет новые строки из ввода и добавляет их в print s
  • -aразбивает каждую строку по пробелу в массив @F
  • подробности см. в substr
1
27.01.2020, 21:58

Теги

Похожие вопросы