Sim, os dois comandos que você postou são 100% equivalentes, portanto, você pode alterar seu script com segurança para não usar pipes.
Mas seu raciocínio é falho: você só mediu o tempo que leva para echo XYZ
, não as invocações sed
reais. No entanto, você verá que ainda é mais rápido não usar pipes:)
dennis@spirit:~$ time sh -c 'echo XYZ | sed -e s/X/A/ | sed -e s/Y/B/ | sed -e s/Z/C/'
ABC
real 0m0.009s
user 0m0.000s
sys 0m0.012s
dennis@spirit:~$ time sh -c 'echo XYZ | sed -e s/X/A/ -e s/Y/B/ -e s/Z/C/'
ABC
real 0m0.006s
user 0m0.000s
sys 0m0.006s