Как я могу распечатать определенную переменную из вывода команды с помощью grep?

Итак, это определенно остается вопросом Windows и действительно относится к superuser.com или подобным.

Однако в интересах полезности :из того, что вы написали, похоже, что программа установки изменила систему записи разделов на вашем жестком диске. Ваш загрузчик Windows был сохранен в MBR (первом секторе жесткого диска )вместе с размером и расположением ваших разделов.

Для установки в качестве UEFI установщик переписал размер и положение ваших разделов в формате GPT, полностью перезаписав MBR в процессе. Это не было несчастным случаем. Две таблицы разделов не могут -существовать вместе, и это был необходимый шаг. IE :это то, о чем вас предупреждали.

Я не специалист по Windows, это форум Linux.Но я думаю, что отсюда у вас в основном есть два варианта:

  1. Исправить вперед (попытаться установить загрузчик Windows EFI )
    • Теоретически это может быть возможно, так как UEFI просто нужен загрузчик Windows, установленный в вашем (новом )разделе EFI
    • У меня лично были проблемы с загрузкой Windows из раздела EFI, созданного Ubuntu -, поэтому никаких гарантий здесь нет.
  2. Попытаться вернуться (Попытаться вернуться к MBR )
    • Это сложно и опасно, и вам все равно придется обращаться за помощью на форумы Windows
    • Теоретически вы можете записать информацию о своих разделах и попытаться заменить GPT на MBR, содержащую те же разделы
    • Если вы сделаете это неправильно, вы можете потерять все свои данные, поэтому хорошо подумайте, прежде чем пытаться это сделать.
    • После того, как вы заменили таблицу разделов, вам нужно будет повторно -установить загрузчик Windows в MBR (, что выходит за рамки этого форума, и я не знаю, как)

Как я уже сказал. Отсюда попробуйте выполнить поиск в Интернете и запросить на Superuser.com конкретные инструкции для Windows.

1
14.04.2020, 12:07
2 ответа

Используйте положительный просмотр назад с GNU grep:

$ grep -Po '(?<=Avg.Speed\(All\):    ).*' test.txt
62.89mm/s
$ grep -Po '(?<=Avg.Speed\(All\):    )[0-9\.]+' test.txt
62.89
1
19.03.2021, 02:29

Использование sedдля извлечения 62.89mm/sиз примера данных путем сопоставления и удаления начала строки:

sed -n 's/^Avg\.Speed(All):[[:blank:]]*//p' test.txt

Чтобы также удалить mm/sединицы с конца (, удаляются все не -цифры с конца):

sed -n '/^Avg\.Speed(All):[[:blank:]]*/{s///;s/[^[:digit:]]*$//p;}' test.txt

По вопросу обновления:

sed -n 's/^Overall Time.*\(..:..:..\).*/\1/p' file

Это позволит извлечь строку времени из строки, начинающейся с Overall Timeв ваших данных.

1
19.03.2021, 02:29

Теги

Похожие вопросы