Попытка зафиксировать неустойчивые видео замораживания

В любом случае

sed "0,/^local/{s/md5/trust/}"

является специфическим GNU (адрес 0 и отсутствующий ; до }) и не будет работать с любой другой реализацией sed (и Solaris не поставляется с GNU sed по умолчанию).

Portable/standardly:

sed '/^local/,$!s/md5/trust/'

для замены только на строках до (но не включая) первой, начинающейся с local. Или:

awk 'NR == 1, /^local/ {gsub(/md5/,"trust")}; {print}'

(на Solaris вам может понадобиться команда -p awk).

Если вам нужна замена в первой строке, которая совпадает с /^local/:

awk '/^local/ && ! seen {gsub(/md5/, "trust"); seen = 1}; {print}'

Или:

sed -e '/^local/!b' -e 's/md5/trust/g;:1' -e 'n;b1'

Чтобы быть уверенным, что POSIX-совместимые утилиты есть и в Solaris, и в Linux (из POSIX-оболочки типа bash или ksh (или /usr/xpg4/bin/sh на Solaris)), вы можете добавить:

PATH=$(command -p getconf PATH):$PATH

в верхнюю часть скрипта. Или добавить команду -p перед каждой командой, для которой вы хотите получить POSIX-версию.

1
03.12.2014, 08:00
1 ответ

ironlake (не знаю о песчаном мосту) пострадал из-за неправильной обработки в mesa, эта проблема, кажется, исправлена ​​в более новых версиях (она была исправлена ​​в августе 2015 года)

см. https: // ошибки .freedesktop.org / show_bug.cgi? id = 91254

1
27.01.2020, 23:51

Теги

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