Ответ оказался проще, чем я думал. Этот SSD был dd
снят с другого ноутбука с внешним графическим процессором AMD.
После того, как я удалил старые драйверы Radeon (, следуя этим инструкциям ), время загрузки вернулось к норме.
$ echo '-0.005 Tc 0.005 Tw [(T)-8.5(o)-3.2(p)-15.3(ik)]TJ' |
awk '{print gensub(/.*\[([^]]+)]TJ/,"\\1",1)}'
(T)-8.5(o)-3.2(p)-15.3(ik)
Веб-сайты, такие как regex101, практически бесполезны для определения регулярных выражений для использования в инструментах командной строки, поскольку они не учитывают должным образом версии регулярных выражений (BRE, ERE или PCRE )и/или разделители, используемые любым инструментом и/или поддерживает ли инструмент обратные ссылки в регулярном выражении и/или соответствующий текст, и/или имеет ли данная версия данного инструмента какие-либо частные расширения, и/или какие-либо параметры, которые инструмент может иметь, чтобы повлиять на его поведение по отношению к регулярным выражениям и т. д.
$ s='-0.005 Tc 0.005 Tw [(T)-8.5(o)-3.2(p)-15.3(ik)]TJ'
$ # if you want to delete []TJ
$ echo "$s" | awk '{print gensub(/\[([^]]+)]TJ/, "\\1", "g")}'
-0.005 Tc 0.005 Tw (T)-8.5(o)-3.2(p)-15.3(ik)
$ # if you just want the portion inside []TJ
$ echo "$s" | awk 'match($0, /\[([^]]+)]TJ/, a){s = a[1]; print s}'
(T)-8.5(o)-3.2(p)-15.3(ik)
GNU awk
поддерживает третий аргумент для метода match
, что упрощает извлечение групп захвата. Первый элемент массива будет иметь полное совпадение. Второй элемент будет содержать часть, совпадающую с первой группой, третий элемент будет содержать часть, совпадающую со второй группой, и так далее.