From the syntax of your read statement, I'm assuming you're using bash... But, in bash and in ksh, the way to reference then nth element of an array is ${array[$n]}; using ${array} just gives you the 0th element of the array.
Shell variables (whether they are scalars or arrays) can't be referenced by name in an awk script.
You can't write (overwrite or append) to two files using redirection in the shell or in awk. Either call printf twice (redirecting the output of each to one of your files), or use tee to make a copy in one file while directing the output to the other file.
Why would you invoke awk when there are no calculations being performed; why not just use shell if, for, and printf statements?
I'm surprised that you don' t want to print some kind of diagnostic if the entered gene name is not an empty string is not end, and is not one of your three expected gene names, but this seems to do something similar to what I think you were trying to do:
These 2 Users Gave Thanks to Don Cragun For This Post:
Hi Friends
How do I do two things from one if statement inside awk? I want to run a script and create a new file from the same condition.
awk '{ if ($2 == ""){print " "|"cd /local/test; ./script.ksh"}{cat > ran_true.txt}}' $IN_FILE
Bolded are the two things I want to be done.
Thanks (1 Reply)
Having a little trouble with awk and an if statement. I have a test setup which I am trying to only print the records which start with the month 03. Everything I tried, prints everything, even the 02 month
03/23/2010 12:47:51
ga2828
SUBMITTED FROM URL: test123.cgi
show port count
... (2 Replies)
Hi,
I have a data file which contains record count.
So doing wc -l rightfit_balancing_count.dat | awk '{print $1}'] gives me the record count stored in the file.
Now, i want to send a mail from UNIX, if the record count is equal to 0,otherwise it should do nothing.
Any help... (2 Replies)
hi,
I have a l-column file of more than 10,000 lines with interspersed negative values. What I want to do is add a fixed number (360) everytime a negative value is encountered while leaving the positive ones as is. I need something that will read every line of the file and do the calculation... (3 Replies)
Hi
I have a file with
test test2 1000000657373
test1 test3 1000003849450
test2 test4 test5 100000837474
I cat the file and pipe it to an awk statement like so
cat /tmp/file |awk '{if ($3 ~ "^*$" && $3 > 1024000000) print "/vol/"$1"/"$2;else if ($4 ~ "^*$" && $4 > 1024000000) print... (15 Replies)
I run my script "switch.sh" repeatedly (within 30 seconds). Each time script is triggered, script itself should kill all previous process.
Here is my code:
for pid in $(ps -fe | grep 'switch.sh' | grep -v grep | awk '{if ($2<$$) print $2}'); do
sudo kill -9 $pid
done
sleep 30
... (6 Replies)
Hi folks,
I have a scenario to convert the update statements into insert statements using shell script (awk, sed...) or in database using regex.
I have a bunch of update statements with all columns in a file which I need to convert into insert statements.
UPDATE TABLE_A SET COL1=1 WHERE... (0 Replies)
There has to be a way to do this with awk or maybe I'm just focusing on the wrong tool and making this harder than it needs to be.
I'm trying to do a file field lookup/join at a very large scale but the output changes has to change dramatically. I have an input file to do a field lookup from and... (3 Replies)