Se você quiser repetir o padrão , precisará usar um sufixo de contagem de {2}
em vez de , que em vez disso repete a string que o primeiro padrão correspondeu . Experimente:
egrep '^d(rw(x|s)|rw-|r-(x|s)|-w(x|s)|r--|-w-|--(x|s)){2}---'
que você pode simplificar para:
egrep '^d(r[w-][xs-]|-w[xs-]|--[xs]){2}---'