S tím sedem je to jen o pochopení regulárních výrazů:
cesta je dělená lomítky a regulární výrazy jsou žravé -> tudíž .*/ se zastaví až na posledním lomítku na řádku.
Jinak by ti místo while/read stačil ten sed:
sed 's/.*\///' zdroj > výsledek
A pokud bys to opravdu chtěl počítat, tak můžeš nejjednodušeji výsledek prohnat přes
wc -l
A ještě mě napadlo:
grep -Eo '[^/]+$'