Настройки локали установлены как переменные среды процессом входа в систему (который читает /etc/default/locale
) и наследованный дочерними процессами. Если Вы входите в систему новой сессии, новые настройки вступают в силу на новой сессии.
Можно установить настройки, сразу вступают в силу в оболочке путем выдачи команды
. /etc/default/locale
(отметьте ведущую точку). Если Вы добавили категорию, которая не была установлена прежде, Вы должны будете export
это. При удалении категории Вы должны будете unset
это.
Изменение настроек в оболочке влияет на все приложения, впоследствии запущенные той оболочкой (как долго, поскольку они используют системные настройки локали и не их собственный метод конфигурации).
По крайней мере, с GNU sed, кажется, можно сделать
sed '1,30{/pattern/d}' file
Тест в уменьшенном масштабе: учитывая файл
как
some line
pattern
other line
some line
pattern
other line
, а затем
$ sed '1,3{/pattern/d}' file
some line
other line
some line
pattern
other line
Вы можете комбинировать sed
с головой
и хвостом
:
( head -n30 file | sed '/pattern/d' ; tail -n+31 file ) > newfile
или использовать Perl:
perl -i~ -ne 'print if $. > 30 or not /pattern/' file