поиск и замена целого слова

Как выполнять поиск и замену целых слов с помощью sed?

дела

sed -i 's/[oldtext]/[newtext]/g'  

также заменит частичные совпадения [oldtext] которые я не хочу делать.

\ b в регулярных выражениях соответствуют границам слов (т. е. расположение между символом первого слова и символом без слова):

 $ echo "bar embarassment" | sed "s/\bbar\b/no bar/g" no bar embarassment 

В Mac OS X ни один из этих синтаксисов regex не работает внутри sed для соответствия целым словам

  • \bmyWord\b
  • \

Услышьте меня сейчас и поверьте мне позже, этот уродливый синтаксис – это то, что вам нужно использовать:

  • /[[:<:]]myWord[[:>:]]/

Так, например, заменить монетный двор minty только целыми словами:

  • sed "s/[[:<:]]mint[[:>:]]/minty/g"

Источник: справочная страница re_format

Используйте \b для границ слов:

 sed -i 's/\boldtext\b/newtext/g'  

В одной из моих машин разделение слова на « \b » (без кавычек) не сработало. Решение заключалось в том, чтобы использовать « \< » для запуска разделителя и « \> » для окончания разделителя.

Объяснить с помощью примера Йоакима Лундберга :

 $ echo "bar embarassment" | sed "s/\/no bar/g" no bar embarassment 

в команде оболочки:

 echo "bar embarassment" | sed "s/\bbar\b/no bar/g" 

или:

 echo "bar embarassment" | sed "s/\/no bar/g" 

но если вы находитесь в vim, вы можете использовать только позже:

 :% s/\/new/g 
 $ echo "bar embarassment"|awk '{for(o=1;o<=NF;o++)if($o=="bar")$o="no bar"}1' no bar embarassment 
  • Как использовать переменные в одиночных кавычках?
  • Команда оболочки для суммирования целых чисел, по одной в строке?
  • Удаление повторяющихся строк без сортировки
  • Заполнение символов в printf
  • Несколько стандартных входных сигналов? Как?
  • Что означает точка в конце `-rw-r-r-`? Как вы устанавливаете его с помощью `chmod`?
  • Как выполнить XPath one-liners из оболочки?
  • Почему «source <(cmd)» работает, но не «$ (cmd)»
  • Имеет ли Windows 8 explorer.exe?
  • Что эта команда: () {: |: &} ;: делает?
  • Как закрыть компьютер с определенным IP-адресом?
  • Interesting Posts

    Как преобразовать номер столбца (например, 127) в столбец excel (например, AA)

    Наименьшая разница между двумя углами

    .dll уже загружен в другой загрузчик classов?

    Android LocationServices.FusedLocationApi устарел

    Операторы побитового сдвига. Подписанный и неподписанный

    Как целые числа, представленные внутри на уровне Java на уровне бит?

    Наиболее эффективный способ случайного выбора набора различных целых чисел

    Получить конфигурацию ядра из текущей системы Linux?

    .htaccess redirect – автоматически добавить www. если не существует субдомена

    Photoshop: пакетное изменение размера для веб-сайта

    Как я могу использовать mySQL replace () для замены строк в нескольких записях?

    Не удается обновить графические драйверы – OEM или общий – драйвер не поддерживает эту версию Windows. – Toshiba – Intel HD 4600

    В чем разница между регулярной строкой и стенографической строкой?

    Добавление новых столбцов в справочную таблицу data.table внутри функции, которая не всегда работает

    Как бороться с ошибкой «данных classа uneval» от ggplot2?

    Давайте будем гением компьютера.