One possible AWK solution:
awk '/'$VAR'/ { print; print "'$VAR1'"; next }1'
break the ' quotations around all your external variable.
Another possible solution like the other post suggest with passing variables is to pass VAR1 in as an awk variable but I think you still need to do the single quote block escape for the pattern using VAR:
awk -v var=$VAR1 '/'$VAR'/ { print; print var; next }1'
You could try sed instead :) it is specifically designed for this sort of substitution.
sed "s/$VAR.*/\0\n$VAR1/" ~/Scripts/tmp/file.txt
if you can have multiple instances of VAR on a single line then add g at the end of the sed command (global) so that it will not stop at the first match it finds:
sed "s/$VAR.*/\0 $VAR1/g" ~/Scripts/tmp/file.txt
IMPORTANT!: make sure the '/' character does not appear in the VAR or VAR1 variable, if they can you need to escape them for awk or sed, alternatively with sed you can change the delimiter for the command to something else like ';' for example:
sed "s;$VAR.*;\0\n$VAR1;" ~/Scripts/tmp/file.txt
Explanation of the sed command:
We use the double quote" instead of single quote around the sed command so that variables like VAR and VAR1 will be replaced by their values. This happens before the command is executed by sed which is why if the / can be present in the variable content that you need to address it (this is true for awk as well)
The 's' indicates that you writing a substitution command of the form:
s/<pattern>/<replacement pattern>/
The '/' immediately after the s is the delimiter that will be used to separate the sections of the command. so if you put ; you must use ; everywhere like shown above.
The pattern to match will be the content of the $VAR variable.
The substitution pattern is \0 which means print what was match by the pattern a new line '\n' and the content of VAR2.
OOPS did not see the part about line bellow.. fixed patterns.