There are several command line incantations that I have had to look up at least a dozen times. I'm compiling a handy cheat sheet of them here.

These commands all work on my Mac, in the Terminal app running the shell zsh. I think most of them are directly portable to bash, but some will have small differences.

To drill deeper on any of these run man <command>. I find the examples section at the end most helpful.

Finding a string in Python files

grep -r --include \*.py 'string I am looking for' .

Find files by name

find . -name '*partial_name*'

Find and replace all occurrences of a string in a directory's Python files

sed -i '.bak' -e 's/old string/new string/g' *.py