Подстрока grep между кавычками

Допустим, у меня есть строка вроде этого:

title="2010-09-11 11:22:45Z" 

Как я могу grep самой даты и игнорировать цитаты / название / Z ?

Файл может содержать больше строк, таких как:

 randomstring title="2010-09-11 11:22:45Z" title="disregard me" 

Поэтому я хочу только grep timestamps с помощью одной команды grep .

  • Как извлечь данные из файла и построить имя файла из одного из значений
  • У меня есть многострочная строка, которую мне нужно перебрать, но я не использую bash. Совет?
  • Изменить регистр n-й буквы в строке
  • Как я могу правильно использовать команду sed в этом конкретном сценарии
  • Строки соответствия, начинающиеся с одного шаблона в двух текстовых файлах
  • bash - Разделить значения «таблицы» в строки в массиве
  • Объединение команд строк и grep: как ограничить результаты строками с нулевым завершением
  • Как я могу добавить и добавить к каждому члену массива?
  • 4 Solutions collect form web for “Подстрока grep между кавычками”

    С помощью GNU grep вы можете:

     $ echo 'title="2010-09-11 11:22:45Z"' | grep -oP 'title="\K[^"]+' 2010-09-11 11:22:45Z 
     grep -oP '[0-9-]{10} [0-9:]{8}' filename 

    Это должно работать только на GNU-версии grep :

     <file.html grep -oP "(?<=title\=\")\d+-\d+-\d+" 

    Пример здесь regex101.

    Если вход будет в этом формате, то только ниже команда легко решает вашу проблему

     echo "title=\"2010-09-11 11:22:45Z\"| cut -d '"' -f2 
    Interesting Posts
    Linux и Unix - лучшая ОС в мире.