It seems like you are missing some fundamentals when dealing with the command line and paths and such.
So this might be, probably is an over explanation. But here you go, and maybe I’ll touch on something that you are missing.
So the path to my desktop: /Users/chris/Desktop
Your command line shell (likely zsh on the mac) will use the ~ as a shortcut to your home directory.
Again to my desktop: ~/Desktop
This command makes col-1.txt & col-2.txt on my desktop. It is using numbers.txt as the source file.
awk '{print $1 >> "/Users/chris/Desktop/col-1.txt"; print $2 >> "/Users/chris/Desktop/col-2.txt" }' ~/Desktop/numbers.txt
Your shell sees this as a command and two parameters. The command is awk. Param-1 is a string of text, the script that awk interprets. Param-2 is a path. Note that the paths inside the script are not using the ~ "/Users/chris/Desktop/col-1.txt". Only paths read by the shell use this shortcut.
If file names have spaces you have to escape them with a \
So: ~/Desktop/my\ numbers
Here is the deal though. I generally do this work in the same directory. So I might make a folder named ‘columns’ on my desktop.
I would then move my source file to that directory and navigate there in the command line. Using the change directory command, like so.
cd ~/Desktop/columns
Now I don’t have to worry about long mistake prone paths. This command will do the job.
awk '{print $1 >> "col-1.txt"; print $2 >> "col-2.txt" }' numbers.txt
P.S. If you are trying to learn awk I think David K’s suggestion of breaking it out into it’s own file helps a lot. I struggled some until I started doing that regularly.