O padrão de regex (?<=#).*
é um padrão de look-behind positivo de largura zero que requer que o grep
suportado pelo PCRE (Perl Compatible Regular Expression) seja implementado. Se a sua opção grep
suporta -P
, então você pode fazê-lo.
Vendo o padrão, acho que você também precisa da opção -o
para obter apenas a parte correspondente, pois (?<=#)
garante que haja um #
antes da parte desejada .*
.
Então você pode fazer recursivo grep
( -r
):
grep -rPo '(?<=#).*' /directory