:$
deve estar entre aspas simples para impedir que o shell o expanda.
então ls -R | grep ':$' | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
Sua próxima coisa a aprender, é a criação de shell e as expansões.
Além disso, muitas pessoas consideram csh
como um erro. Está cheio de comportamento inconsistente estranho. Considere outro bash
, ksh
, fish
…