Как сделать условный поиск и замену, который добавит линию между двумя строками с разными критериями соответствия?

Я получаю то же сообщение «Выбранная конфигурация для дисплеев не может быть применена» в 12.04. Однако, если у вас есть видеокарта AMD, вы можете решить ее, запустив «AMD Catalyst Center (Административный)» и используя Диспетчер отображения.

0
задан 27 April 2018 в 08:44

6 ответов

Исходя из ваших последних вопросов, похоже, что у вас есть проблема XY

Вот решение sed, основанное на ответе @ Zanna на ваш предыдущий вопрос Задача XY

[ f1]
2
ответ дан 22 May 2018 в 11:13
  • 1
    Спасибо за эту помощь. Иногда никто не знает всех проблем, с которыми вы столкнетесь, пока не предпримите несколько шагов в задачу. Даже после применения этого, мне все же пришлось сделать много ручных изменений для исключений и продолжить поиск и замену трюков для условий, которые ранее не были видны. Просто так бывает. – Questioner 5 May 2018 в 07:41

Исходя из ваших последних вопросов, похоже, что у вас есть проблема XY

Вот решение sed, основанное на ответе @ Zanna на ваш предыдущий вопрос Задача XY

$ LC_ALL=C sed -E '/^[\d0-\d127]+$/ {$!N; s/\n[^\d0-\d127]+$/\n+Aあ+&/;}' file 日本語のみ 日本語のみ English words only English and 日本語 日本語のみ 日本語のみ English words only +Aあ+ 日本語のみ 日本語のみ English words only English and 日本語
2
ответ дан 17 July 2018 в 16:04

Исходя из ваших последних вопросов, похоже, что у вас есть проблема XY

Вот решение sed, основанное на ответе @ Zanna на ваш предыдущий вопрос Задача XY

$ LC_ALL=C sed -E '/^[\d0-\d127]+$/ {$!N; s/\n[^\d0-\d127]+$/\n+Aあ+&/;}' file 日本語のみ 日本語のみ English words only English and 日本語 日本語のみ 日本語のみ English words only +Aあ+ 日本語のみ 日本語のみ English words only English and 日本語
2
ответ дан 23 July 2018 в 16:59

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

awk '1; ! /^[\x01-\x7F]*$/ {next} {getline} !/[\x01-\x7F]/ {print "+Aあ+"} 1'
Безусловная печать строки ввода - 1 является истинным условием, а действие по умолчанию в этом случае - печать. Тогда, если это не (!) полностью ASCII (/^[\x01-\x7F]*$/), пропустите обработку дополнительных правил (переход к следующей строке, но правила обработки из 1). Если это полностью ASCII, мы получаем следующую строку {getline}, и если в этом нет !, есть какие-либо символы ASCII /[\x01-\x7F]/ в нем, распечатайте ваш placeholder. Наконец, напечатайте строку, которую мы читаем, используя getline.

Я предполагаю, что строки вашего 日本語 の do не имеют пробелов или знаков препинания (. ! vs 。 !).

2
ответ дан 22 May 2018 в 11:13

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

awk '1; ! /^[\x01-\x7F]*$/ {next} {getline} !/[\x01-\x7F]/ {print "+Aあ+"} 1' Безусловная печать строки ввода - 1 является истинным условием, а действие по умолчанию в этом случае - печать. Тогда, если это не (!) полностью ASCII (/^[\x01-\x7F]*$/), пропустите обработку дополнительных правил (переход к следующей строке, но правила обработки из 1). Если это полностью ASCII, мы получаем следующую строку {getline}, и если в этом нет !, есть какие-либо символы ASCII /[\x01-\x7F]/ в нем, распечатайте ваш placeholder. Наконец, напечатайте строку, которую мы читаем, используя getline.

Я предполагаю, что строки вашего 日本語 の do не имеют пробелов или знаков препинания (. ! vs 。 !).

2
ответ дан 17 July 2018 в 16:04

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

awk '1; ! /^[\x01-\x7F]*$/ {next} {getline} !/[\x01-\x7F]/ {print "+Aあ+"} 1' Безусловная печать строки ввода - 1 является истинным условием, а действие по умолчанию в этом случае - печать. Тогда, если это не (!) полностью ASCII (/^[\x01-\x7F]*$/), пропустите обработку дополнительных правил (переход к следующей строке, но правила обработки из 1). Если это полностью ASCII, мы получаем следующую строку {getline}, и если в этом нет !, есть какие-либо символы ASCII /[\x01-\x7F]/ в нем, распечатайте ваш placeholder. Наконец, напечатайте строку, которую мы читаем, используя getline.

Я предполагаю, что строки вашего 日本語 の do не имеют пробелов или знаков препинания (. ! vs 。 !).

2
ответ дан 23 July 2018 в 16:59

Другие вопросы по тегам:

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