Coding since 1986 and I touch the shell as much as I have to, If I cared that much I would still be using MS-DOS, and UNIX without X.
rename s/_small// *_small.jpg
When you have the string ABCD_XYZ in 50 files but you need to change it to DEFG_UVW, how do you do that? perl -pi -e 's{ABCD_XYZ}{DEFG_UVW}' **/*(.)
When you need to move all the files ending '.png' into the directory 'PNG', and all the ones ending '.jpg' into 'JPG', how do you do that? mkdir JPG PNG;
for i in *.png *.jpg; mv $i $i:e:u¹ https://zsh.sourceforge.io/Doc/Release/User-Contributions.ht...
² https://zsh.sourceforge.io/Doc/Release/Expansion.html#Filena...
I like the shell but I also think IDEs are underrated.
And a shell is a REPL.
A UNIX shell is a very bad approximation of a real programming language REPL.
It is no accident that sh scripts turn into Perl, Python, Tcl, Lisp,... when one wants to keep sanity.