Как удалить из переменную файла конфигурации, не равную 100

/etc/rc.local обычно последний запускаемый сценарий. Посмотрите на другие сценарии в /etc/init.d модель для загрузки драйвера. Что-то вроде сценария брандмауэра может сработать.

/etc/rc.local содержимое:

gcom -d /dev/ttyUSB0
sleep 30
ifup wan
exit 0

Это зарегистрирует модем, подождет некоторое время (30 секунд кажется справедливым, поскольку иногда требуется 20 секунд для регистрации при низком качестве соединения) и поднять wan .

-1
08.08.2018, 12:53
1 ответ
$ awk -F= '/hadoop\.tasklog\.totalLogFileSize/ && $2 != 100 { next } 1' file
hadoop.tasklog.totalLogFileSize=100
hadoop.tasklog.purgeLogSplits=true
hadoop.tasklog.logsRetainHours=12

Это обрабатывает файл как=-поля с разделителями. Если строка соответствует заданному шаблону,и если число после=(т.е. второе поле )не 100, то строка пропускается и не выводится. Все остальные строки выводятся конечным 1в конце программы (, который можно заменить на{ print }).

Использованиеsed:

$ sed '/hadoop\.tasklog\.totalLogFileSize/{ /=100$/!d; }' file
hadoop.tasklog.totalLogFileSize=100
hadoop.tasklog.purgeLogSplits=true
hadoop.tasklog.logsRetainHours=12

Это выводит все строки, но когда строка соответствует заданному шаблону, а затем не соответствует =100в конце строки, она удаляется из ввода.

1
28.01.2020, 05:10

Теги

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