Как искать новую строку, перед которой нет by} и удалите его

Посмотрите отчет об обратной бинарной совместимости для библиотеки здесь (или может быть здесь). Не стоит обновляться, если в библиотеке есть некоторые ABI-разрывы между сравниваемыми версиями.

Также ваша конфигурация библиотеки может отличаться от дистрибутивной (некоторые специфические опции, которые могут вызвать некоторые изменения в ABI), поэтому лучше обновлять библиотеки только с помощью менеджера пакетов.

В частности, обновление sqlite выглядит безопасным из-за этого отчета:

enter image description here

0
12.05.2019, 01:54
1 ответ

Вы можете использовать следующее для соединения строк, где предыдущая строка не заканчивается на}:

sed -e :a -e '/}$/!N; s/\n//; ta'

По сути, это вариант 39. Добавить строку к следующей, если она заканчивается обратной косой чертой "\" из Sed One -Объяснение вкладышей, часть I :Файл Интервалы, нумерация, преобразование и замена текста , замена условия «заканчивается обратной косой чертой» на «не заканчивается правой фигурной скобкой».

Пр. дано

$ cat > input
foo bar
baz}
foo bar baz}

, затем

$ sed -e :a -e '/}$/!N; s/\n//; ta' input
foo barbaz}
foo bar baz}

Если вы хотите также удалить все начальные горизонтальные пробелы в начале соединяемой строки, вы можете изменить s/\n//наs/\n[[:blank:]]*//

Тестирование на вашем примере (после преобразования начальных пробелов в табуляции):

$ cat example
        {'Date': 'Fri, 19 Apr 2019 07:23:14 GMT', 'Server': 'Apache', 'Vary': 'Qualys-Scan', 'Strict-Transport-Security': 'max-age=31536000;includeSubDomains;preload', 'Set-Cookie': 'ASP.NET_SessionId=ivoa5bhet0s2ygkylmimvkie; path=/; secure; HttpOnly;SameSite=strict, SC_ANALYTICS_GLOBAL_COOKIE=12f133ea5080403692b4ce458fd1a540; expires=Thu, 19-Apr-2029 07:23:14 GMT; path=/; secure; HttpOnly;SameSite=strict, SC_ANALYTICS_SESSION_COOKIE=336B597E7A534D6393C57DF11E047484|1|ivoa5bhet0s2ygkylmimvkie; path=/; secure; HttpOnly;SameSite=strict, incap_ses_885_270026=cDp/VlO1AHgshF9F6SZIDGJ3uVwAAAAAg7DwpecyehBCyhXgoYO5GA==; path=/; Domain=.zurich.co.uk, ___utmvmykuNyVY=dlNaoEsuXSO; path=/; Max-Age=900, ___utmvaykuNyVY=nWJx01KvGT; path=/; Max-Age=900, ___utmvbykuNyVY=JZy
        XEtOwalQ: PtR; path=/; Max-Age=900', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'private', 'Content-Type': 'text/html; charset=utf-8', 'Keep-Alive': 'timeout=5, max=10', 'Connection': 'Keep-Alive', 'X-Iinfo': '8-3925806-3925807 NNNN CT(73 151 0) RT(1555658593583 5) q(0 0 3 0) r(6 6) U5', 'X-CDN': 'Incapsula', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked'}

$ sed -e :a -e '/}$/!N; s/\n[[:blank:]]*//; ta' example
        {'Date': 'Fri, 19 Apr 2019 07:23:14 GMT', 'Server': 'Apache', 'Vary': 'Qualys-Scan', 'Strict-Transport-Security': 'max-age=31536000;includeSubDomains;preload', 'Set-Cookie': 'ASP.NET_SessionId=ivoa5bhet0s2ygkylmimvkie; path=/; secure; HttpOnly;SameSite=strict, SC_ANALYTICS_GLOBAL_COOKIE=12f133ea5080403692b4ce458fd1a540; expires=Thu, 19-Apr-2029 07:23:14 GMT; path=/; secure; HttpOnly;SameSite=strict, SC_ANALYTICS_SESSION_COOKIE=336B597E7A534D6393C57DF11E047484|1|ivoa5bhet0s2ygkylmimvkie; path=/; secure; HttpOnly;SameSite=strict, incap_ses_885_270026=cDp/VlO1AHgshF9F6SZIDGJ3uVwAAAAAg7DwpecyehBCyhXgoYO5GA==; path=/; Domain=.zurich.co.uk, ___utmvmykuNyVY=dlNaoEsuXSO; path=/; Max-Age=900, ___utmvaykuNyVY=nWJx01KvGT; path=/; Max-Age=900, ___utmvbykuNyVY=JZyXEtOwalQ: PtR; path=/; Max-Age=900', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '1; mode=block', 'Cache-Control': 'private', 'Content-Type': 'text/html; charset=utf-8', 'Keep-Alive': 'timeout=5, max=10', 'Connection': 'Keep-Alive', 'X-Iinfo': '8-3925806-3925807 NNNN CT(73 151 0) RT(1555658593583 5) q(0 0 3 0) r(6 6) U5', 'X-CDN': 'Incapsula', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked'}
0
28.01.2020, 03:41

Теги

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