you were close! the following works as well
awk -v FS="\t" awk -v FS="\t" cat > 1.awk << eof
{ print $ARGC }
eof
echo|nawk -f 1.awk FS=":"
echo|gawk -f 1.awk FS=":"
echo|nawk -f 1.awk -v FS=":"
echo|gawk -f 1.awk -v FS=":" echo "" | awk '{print Bla;}' Bla="Hello."EXAMPLES Print and sort the login names of all users:
BEGIN { FS = ":" }
{ print $1 | "sort" }
The above is from the GAWK manpage. FWIW, the first example under EXAMPLES uses FS not -F.There is nothing wrong with using FS instead of -F.
FS is not used on the command line and doing so is asking for trouble. FS is a built-in variable and as such is treated specially.