Я новичок в написании сценариев. Поэтому я надеюсь, что это просто. Сценарий, который я пишу, используется для сбора системной информации и ее сохранения в виде файла HTML.
Когда я запускаю:
sudo lshw -short
он перечисляет все аппаратное обеспечение в системе.
Когда я запускаю:
sudo lshw -short | grep processor
он возвращает (точки представляют собой пробелы)
/0/4 ...........................................processor................................................ AMD FX(tm)-6100 Six-Core Processor"
Мой вопрос состоит в том, как удалить все, что находится перед процессором. Или как мне отображать только то, что стоит после «процессора». Я попробовал несколько других опций для grep и попытался найти команду awk для работы, но я потерпел неудачу в моих попытках.
Если нужно больше информации, дайте мне знать.
В версиях grep
, которые поддерживают PCRE (Perl Совместимое Регулярное выражение) расширение, можно сделать
sudo lshw -short | grep -Po 'processor\K.*'
Эти -o
, говорит, чтобы только распечатать совпавший текст, и \K
, модификатор заставляет что-либо с его левой стороны от него в совпавшем тексте быть исключенным из результата.
, Если Вы хотите также удалить какой-либо пробел после буквенного текста processor
, можно сделать
sudo lshw -short | grep -Po 'processor\s*\K.*'