Как я могу grep две вещи, где есть опция -w?

У меня есть json- файл, откуда я хочу получить значение двух элементов, которые находятся в массиве с помощью grep . Предположим, я пытаюсь получить данные из значений foo и bar , проблема в том, что bar также соответствует megabar поэтому мне нужно grep его с параметром -w .
Проблема возникает, когда вы пытаетесь найти их в одно и то же время, поскольку я должен grep для одного значения ИЛИ другого.
Из этого вопроса мне удалось немного приблизиться к тому, что я искал, но мой результат был примерно таким:

 grep -E '(foo|-w bar)' file "foo": "59766", "foo": "59770", "foo": "59774", "foo": "59778", "foo": "59782", "foo": "59786", 

Любая идея о том, как это сделать?

  • Как перенаправить вывод из команды find (использующей grep) в файл журнала?
  • grepping dotfiles с -R правильно?
  • Совпадение шаблонов Исключить повторяющиеся символы
  • Что делает команда egrep?
  • Я правильно понимаю, например, файл egrep -if file1?
  • Список всех html-тегов в файле
  • сопоставлять и печатать несколько столбцов из двух файлов
  • Считать частоту конкретных чисел в текстовом файле научных обозначений
  • 2 Solutions collect form web for “Как я могу grep две вещи, где есть опция -w?”

    Граница слова имеет аналогичный эффект -w , но может использоваться как часть выражения.

    «\ Ь»
    Сопоставьте пустую строку с краем слова.
    […]
    '\ <'
    Сопоставьте пустую строку в начале слова.
    '\>'
    Сопоставьте пустую строку в конце слова.

    Чтобы соответствовать bar только тогда, когда это целое слово, но где угодно (в том числе внутри более длинных слов):

     grep -E 'foo|\<bar\>' 

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

     grep -E -w '(foo|bar)' file 
    Interesting Posts

    Запуск системы и запуск одного ядра моего процессора

    ack выполнен через vim

    Как синхронизировать каталоги на двух разных внешних жестких дисках?

    preseed.cfg игнорирование настройки имени хоста

    Совместить отсутствующие значения в текстовых файлах

    Не удается установить и использовать драйверы nvidia (Wheezy)

    Сценарий Bash для установки веб-сайта

    Почему большинство дистрибутивов сети UEFI и grub?

    Почему существует разница между последними и последними коммандными записями и почему в записи последних записей нет последней записи входа для пользователя?

    sed в bash с переменными и двойными кавычками вызывает неисполненную ошибку

    fatal: ссылка имеет недопустимый формат: 'refs / stash (1)'

    поведение bashrc отличается при открытии сеанса или открытии терминала

    подавить предупреждение rsync: некоторые файлы исчезли, прежде чем они могут быть переданы

    Половина букв всех слов отсутствует.

    Сканирование Bluetooth LE как non root?

    Linux и Unix - лучшая ОС в мире.