\w
combina símbolos "palavra" (letras, dígitos e sublinhados), mas no seu exemplo há /
após com
, que não é :alnum:
, então seu padrão não corresponde a nada == saída vazia.
Você pode adicionar /
ao padrão e ver o que aconteceu:
grep -oP 'com/\K\w+'
A opção FYR -P
é experimental e pode fazer o que não é esperado em mais sistemas, portanto, você pode realizar sua tarefa de outra forma:
sed "/com/s/.*\/\(\w\+\).\?$//"