Blanket statements like that generally serve to underscore either a lack of experience, or lack of willingness to accept other viewpoints. Simply prefixing it with "in my opinion" lessens that effect to great degree.
Shell utilities that work with plain text can deal with a whole lot more than java. Claiming that an IDE occupies the same place as a shell in a developers toolbox misses a lot of the reason why shells are useful.
Shell utilities that deal with plain text often get the nuance wrong, because they don't have the full syntax tree to deal with. Mostly you're using regular expressions; which often get you close but not quite right. For navigation, people often would use cscope/ctags something else anyway; and text searching often isn't as good as a semantically aware find.
I don't use an IDE beyond vim for my C++ work; but am considering clion. So far I'm not entirely convinced, it doesn't handle some of the more complex C++ constructs correctly.
For vim and C++ I recommend YouCompleteMe[0]. It gets a lot of it right.
You can do a whole lot with an IDE but saying it has the same amount of power as a good unix shell is somewhat disingenuous. If you want to be able to extend your coding environment in an infinite number of arbitrary ways then a shell beats an IDE every time.