Возврат только части строки после соответствующего шаблона

У меня есть файл ( file_name ), который содержит ровно одну видимость строки Result: в начале строки. Я хочу напечатать все символы после строки Result: в этой строке, пока не найду пробел. Какую команду оболочки я должен использовать?

 grep "Result: " file_name | tail -c +9 

не работает.

3 Solutions collect form web for “Возврат только части строки после соответствующего шаблона”

Самый простой способ – использовать awk .

 awk '/^Result: / {print $2}' file_name 

Это соответствует строкам, начинающимся с Result: и печатает второе поле в файле, как определено значением IFS по умолчанию, которое является пробелом.

Похоже, что вы хотите:

 sed -ne 's/^Result: \([^ ]*\).*/\1/p' file_name 

Совпадает с строкой с «Результатом:» и печатает первое слово после него. Другие строки не отображаются.

 tillblank=$(egrep -o "^Result: [^ ]* " file) echo ${tillblank/*:/} 

egrep -o выводит только шаблон, который вы искали. Следующая строка удаляет все до двоеточия.

  • Как удалить все числа, окруженные <>
  • Катить все файлы в папке, включая имя файла, используя цикл for?
  • Назначения значений двойной кавычки, хранящиеся в CSV?
  • Удалить до первого вхождения, отредактировать эту строку и распечатать оставшиеся строки без изменений
  • Как заменить слово внутри файла .DOCX с помощью командной строки Linux?
  • Использование 'sed' для поиска и замены
  • Поиск файла для числа, которое находится между двумя конкретными номерами
  • Как вложить глобальные совпадения с sed?
  • Как удалить строки в файле с определенной позиции до конца файла
  • Объединение двух частей вместе для создания единого сценария
  • условная окраска в grep
  • Linux и Unix - лучшая ОС в мире.