Como você estava usando grep com PCRE ( -P ), você pode usar esse padrão de Regex:
grep -Po '\d{1,2}x\K\d{2}(?= )' <<<"$pathname"
-
\d{1,2}xcorresponderá a um ou dois dígitos seguido porxe, em seguida,\Kdescartará a correspondência -
\d{2}corresponderá exatamente a dois dígitos, o padrão lookahead positivo de largura zero(?= )garante que tenhamos um espaço após os dois dígitos.
Então, isso deve atender aos seus requisitos.
Exemplo:
$ grep -Po '\d{1,2}x\K\d{2}(?= )' <<<'/a/long/path/of/mine/2x02 - bar.mp4'
02
$ grep -Po '\d{1,2}x\K\d{2}(?= )' <<<'/a/long/path/of/mine/34x12 - bar.mp4'
12
$ grep -Po '\d{1,2}x\K\d{2}(?= )' <<<'/a/long/path/of/mine/0x1 - bar.mp4'
## No match
$ grep -Po '\d{1,2}x\K\d{2}(?= )' <<<'/a/long/path/of/mine/00x1 - bar.mp4'
## No match