Az első kérdésedre röviden nem nagyon tudok válaszolni; vannak olyan kifejezések, amit a sima grep nem, csak az egrep ismer -> mastering regexp és hasonló doksik.
A többi az rendben van, a $(date...) az ún. subshell-ben végrehajtott parancsot jelöl, a parancssor behelyettesítése során az értéke a ()-ben lévő parancs kimenete lesz.
Ugyanezt csinálja a backtick-es megoldás (`date..`) is, szerencsésebbnek tartom azonban (főleg, ha ilyen, vagy még összetetteb "beágyazósdi" van) a $() formát, mert az tényleg olvashatóbb, és nem azon kell tötyörészni, hogy melyik backtick melyikhez tartozik...