Мы можем использовать относительную адресацию
редактора ed
, чтобы осуществить это.
Задача включает в себя извлечение номеров строк из всех строк #
во входном файле на первом проходе. Затем мы генерируем серию команд ed
для выполнения работы. В правой части отображается содержимое пространства шаблонов, сформированное sed
scrivener
sed -e '$s/.*/$/;$q;/^#/!d;=' inputfile |
sed -e '
N;N;h; # p.s.: 1\n###PSTERS###\n4$
s/^[1-9][0-9]*/&+/; /\$$/!s/$/-/; # p.s.: 1+\n###PSTERS###\n4-$
s/\n\(.*\)\n\(.*\)/,\2w \1.txt/; # p.s.: 1+,4-w ###PSTERS###.txt$
s/#//gp;g; # p.s.: 1+,4-w PSTERS.txt
s/.*\n/\n/; $!D; s/.*/q/
' |
ed -s - inputfile
Crontab - это решение. Вызвать:
crontab -e
При этом откроется редактор по умолчанию. Добавить:
@reboot your command
Сохранить и выйти. Если для команды требуется пароль суперпользователя, вы должны сначала sudo su -
и crontab -e
от имени пользователя root.
Чтобы добраться до самого источника проблемы (будь то cron или скрипт), можно создать более простой случай для целей отладки:
@reboot date >> / root / a
или аналогичный добавляется как задание cron после crontab -e
. Если он работает (~ добавляет дату / время в файл "/ root / a"), эта строка сохраняется в bash-скрипт с тем же владельцем и правами ( -rwxr-xr-x 1 root root
), например:
#! / usr / bin / sh
date >> / root / a