find a certain line and append text to the end of the line

After I create printer queues in AIX, I have to append a filter file location within that printers custom file. within lets say test_queue.txt I need to find the row that starts with :699 and then I need to append on the end the string /usr/local/bin/k_portrait.sh.

Now I've gotten the sed command to work outside my script at the comand-line level but I can't make it work within the script. I've also made the path to the filter file include backslashes to the k_portrait.sh file. So variables are involved.

I could really use some help with a sed command string - or if awk would be better I'd go that way also. Thanks in advance for any help I recieve.

awk '/^:699/ { print $0, "/usr/local/bin/k_portrait.sh"; next}
        {print $0 } '   inputfile > tmpfile
# do this below ONLY when you are sure it worked
mv tmpfile inputfile

When I use:

awk '/^:699/ { print $0, "$FILTER"; next} {print $0 } ' test_queue.txt > tmp.out

I get the file generated but the word $FILTER appends at the end. Close but I need that to be able to take a variable if possible. And I don't need a space before appending if possible. Thx for your help, I think you're close.