I highly recommend memorizing the POSIX version of every *NIX command and sticking to them. 60% of the time, they work every time. (https://pubs.opengroup.org/onlinepubs/9799919799/idx/utiliti...)
In a world with nix and where nearly every system has zsh, restricting yourself to the POSIX version of these tools is masochistic.
BSD vs linux with a standards committee inbetween.
I highly recommend using whatever capabilities are convenient of any utility you're running, and not caring about what other systems do unless you're actually trying to write a portable shell script.