I am trying to allow a user to enter in text and then store that text in a variable $gene to run in an awk command in which those values are used to run some calculations. I am getting syntax errors however, when I try. Thank you .
The awk runs great if it is a pre-defined file that is used, but it could also be user input.
Code:
/home/cmccabe/Desktop/loop.sh: line 87: syntax error near unexpected token `for'
/home/cmccabe/Desktop/loop.sh: line 87: `for f in /home/cmccabe/Desktop/NGS/API/2-12-2015/bedtools/*base_counts.txt ; do'
Code:
other() {
printf "\n\n"
printf "Please enter the gene(s) of interest, use a comma between multiple: "; IFS="," read -a gene
printf "the indicated genes will now be loaded and used to calculate coverage\n"
[ -z "$gene" ] && printf "\n No ID supplied. Leaving match function." && sleep 2 && return
[ "$gene" = "end" ] && printf "\n Leaving match function." && sleep 2 && return
for ((i=0; i<${#gene[@]}; i++))
logfile=/home/cmccabe/Desktop/NGS/API/2-12-2015/process.log
for f in /home/cmccabe/Desktop/NGS/API/2-12-2015/bedtools/*base_counts.txt ; do
echo "Start custom panel creation: $(date) - File: $f"
bname=$(basename $f)
pref=${bname%%.txt}
awk '
NR == FNR {input[$0]; next}
{
split($5, a, "-")
if (a[1] in input) {
key = $4 OFS $5
n[key]++
sum[key] += $7
}
}
END {
for (key in n)
printf "%s %.1f\n", key, sum[key]/n[key]
}
' /home/cmccabe/Desktop/panels/$gene $f | awk '{split($2,a,"-"); print a[1] "\t" $0}' | sort | cut -f2-> /home/cmccabe/Desktop/NGS/API/2-12-2015/bedtools/${pref}_genescoverage.bed
echo "End custom panel creation: $(date) - File: $f"
done >> "$logfile"
printf "coverage calculated and log created\n"
}
Last edited by cmccabe; 02-22-2016 at 06:00 PM..
Reason: updated format
Using the following I'm trying to print the user's response to the prompt Y / N but I get nothing other than the contents of $1?
awk '{
printf($1 " ? (Y/N)")
getline myresponse < "-"
system("read myresponse")
if (myresponse == "Y")
{ print $1... (17 Replies)
I am trying to write a awk script that prompts user for input to set the FILENAME varable. I can get it set, but I think awk is not doing anything with it.
this is what I have so far
#!/usr/bin/nawk -f
BEGIN {
FILENAME = ""
printf "Enter name of file to check in : "
... (2 Replies)
Hi guys,
I am new to AWK and unix scripting. Please see below my problem and let me know if anyone you can help.
I have 2 input files (example given below)
Input file 2 is a standard file (it will not change) and we have to get the name (second column after comma) from it and append it... (5 Replies)
Hi Jim,
I have following script,i which i need to take dynamic value .
script,
nawk -v v1=grep"INT_EUR" $propertifilename | cut -d"=" -F2` -F'~' '{if (NF-1 !=v1)
{print "Error in " $0 " at line number "NR" tilde count " N-1}}' $filename
In the above script i want to use INT_EUR as a variable... (2 Replies)
Hi,
echo "Enter file name of input file list along with absolute path : "
read inputFileList
if
then
for string in `cat inputFileList`
do
echo $string
done
else
echo " file does not exist"
fi
From the above code, if the user enters a invalid file... (1 Reply)
this section of the awk code i have here takes file to work with from the user.
the user specifies the file name from the command line and the file name is assigned to the variable $FLIST
awk 'BEGIN {
while((getline < "'${FLIST}'")>0)
S
FS="\n"; RS="}\n"
}
now, i dont want... (5 Replies)
Hello,
I'm trying to figure out how best to approach this script, and I have very little experience, so I could use all the help I can get. :wall:
I regularly need to delete files from many directories.
A file with the same name may exist any number of times in different subdirectories.... (3 Replies)
Dear Friends,
I am looking for a shell script to merge input files into one file .. here is my idea:
1st paramter would be outfile file (all input files content)
read all input files and merge them to input param 1
ex: if I pass 6 file names to the script then 1st file name as output file... (4 Replies)
IGAWK(1) Utility Commands IGAWK(1)NAME
igawk - gawk with include files
SYNOPSIS
igawk [ all gawk options ] -f program-file [ -- ] file ...
igawk [ all gawk options ] [ -- ] program-text file ...
DESCRIPTION
Igawk is a simple shell script that adds the ability to have ``include files'' to gawk(1).
AWK programs for igawk are the same as for gawk, except that, in addition, you may have lines like
@include getopt.awk
in your program to include the file getopt.awk from either the current directory or one of the other directories in the search path.
OPTIONS
See gawk(1) for a full description of the AWK language and the options that gawk supports.
EXAMPLES
cat << EOF > test.awk
@include getopt.awk
BEGIN {
while (getopt(ARGC, ARGV, "am:q") != -1)
...
}
EOF
igawk -f test.awk
SEE ALSO gawk(1)
Effective AWK Programming, Edition 1.0, published by the Free Software Foundation, 1995.
AUTHOR
Arnold Robbins (arnold@skeeve.com).
Free Software Foundation Nov 3 1999 IGAWK(1)