Alex,
VAR2="$( awk -F, "/$SOMEVARIABLE/ /some/pathtoafile/")"
As others have posted, if you want to assign the result of running the awk command to the variable VAR2 then use back quotes. E.G.
VAR2=`awk -F, $SOMEVARIABLE /some/path/to/afile`
The output from the awk program will be in VAR2.
If you just want to use the value in a variable on the command line you don't need quotes just do;
MYPATH=/home/user1/datafiles awk -F, $MYPATH/afile
or if you still want to save the output from the command.
RESULT=`awk -F, $MYPATH/afile`
Put the variable in curly braces when there's no delimiter and the shell will think you are referencing a different variable, eg.
MYPATH="/home/user1/datafiles/" RESULT=`awk -F, $MYPATHafile`
The example above will try to pass the contents of the variable MYPATHafile to awk, not what you expect, hence;
RESULT=`awk -F, ${MYPATH}afile`
However, if you are trying to pass a variable to awk then use awk's --assign flag. E.G.
POS="YES" RESULT=`awk -F, --assign value=$POS '{ print value }' $MYPATH$FILENAME `
Will cause the variable $RESULT to contain YES repeated as many times as there are row's in the file /home/user1/datafiles/afile
You only need to use double quotes when there is a space involved, E.G
NEG="NO" RESULT=`awk --assign value="$POS or $NEG" $MYPATH$FILENAME`
If you wanted to pass a literal string that contains a $ then put it in single quotes
awk --assign msg='Big $$$s' $MYPATH$FILENAME
HTH
P.
P.S btw in most of the examples the awk won't actually work because for clarity I haven't shown any awk program code.
--
SLUG - Sydney Linux User's Group Mailing List - http://slug.org.au/
Subscription info and FAQs: http://slug.org.au/faq/mailinglists.html