Problem with writing to output - awk, echo


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with writing to output - awk, echo
# 1  
Old 10-16-2012
Problem with writing to output - awk, echo

Hello all,

I wrote this command line for some calculation on my given input files based on another input file which is a txt file.
Code:
while read BAM REGION;  do samtools view $BAM $REGION | awk '{if ($2==0) print $0}' | wc -l  >>log.txt; echo "$REGION"; done >> log.txt <regions.txt

It takes each file and parse it and with wc -l I want to count the number of lines and writing to output file.
My problem is that it writes $REGION and calculation of samtools in separate lines. It gives me the output like this:

calc1
region1
calc2
region2
calc3
region3
...

But I want it to be like this:

region1 calc1
region2 calc2
region3 calc3
...

Can you help me with this?
Thanks for your consideration.
# 2  
Old 10-16-2012
You can print both variables in awk itself...Smilie


Code:
while read BAM REGION;  
do
var=$(vasamtools view $BAM $REGION | awk '{if ($2==0) print $0}' | wc -l)
echo "$REGION $var" >> log.txt
done<regions.txtt


Last edited by pamu; 10-16-2012 at 03:40 PM.. Reason: corrected..
# 3  
Old 10-16-2012
Thanks man. But now it doesn't give me the $REGION in output. Since you put it before wc whatever it write it just counts the line after pipe. now the output is just the calcs.
I think writing the regions should be after wc -l or maybe we should think to count the lines in another way... I don't know! :\
# 4  
Old 10-16-2012
Quote:
Originally Posted by @man
Thanks man. But now it doesn't give me the $REGION in output. Since you put it before wc whatever it write it just counts the line after pipe. now the output is just the calcs.
I think writing the regions should be after wc -l or maybe we should think to count the lines in another way... I don't know! :\
Yeah just corrected the code. Please check now..Smilie
This User Gave Thanks to pamu For This Post:
# 5  
Old 10-16-2012
I tried your correction several times and it gave me zero values for all my calcs. AS ALWAYS, suddenly it started working! Smilie Smilie I really don't know what happens sometimes!! But now it's working! Smilie Thanks man!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Need to save output of echo and awk to a file

Hi, I am generating a YAML file from a hosts file, but am having trouble saving it to a new file. hosts file 127.0.0.1 localhost 192.168.1.2 host1 192.168.1.3 host2 192.168.1.4 host3 192.168.1.5 host4 YAML file $ echo 'host_entries:' && awk '{printf " %s:\n ip:... (3 Replies)
Discussion started by: sand1234
3 Replies

2. Shell Programming and Scripting

Grep echo awk print all output on one line

Hello, I've been trying to find the answer to this with Google and trying to browse the forums, but I haven't been able to come up with anything. If this has already been answered, please link me to the thread as I can't find it. I've been asked to write a script that pulls a list of our CPE... (51 Replies)
Discussion started by: rwalker
51 Replies

3. Shell Programming and Scripting

Echo awk output from its variable

Stumped with the formatting of the awk output when used with variables, e.g.: awk -F, 'BEGIN {OFS=","} print {$2,$3,$4}' $infile1 produces the desired output (with rows), but when echoing the variable below, the output is one continuous line var1=$(awk -F, 'BEGIN {OFS=","} print... (4 Replies)
Discussion started by: ux4me
4 Replies

4. Shell Programming and Scripting

awk print output problem

Hello friends, I have written a script and i need to add some part into it so that i could print out more results depending on more conditions, This is the core part of the script which does the actual work: echo "$j" && nawk -v stat=$2 'NR==FNR &&... (1 Reply)
Discussion started by: EAGL€
1 Replies

5. Shell Programming and Scripting

Problem with output awk and sed

I have file, i am extracting email address from file. but problem is that output is very ugly. I am using this command REMOVED "CSS OFFENDING CODE"... While original filename have no such character. Please suggest. (20 Replies)
Discussion started by: learnbash
20 Replies

6. Shell Programming and Scripting

Writing html to a file with echo

Hi, I'm having an issue with echo again. I keep getting errors and no file content with these commands in a script. --------------------------------------------------- #!/bin/bash WEBSITE=http://www.google.com touch test1.txt echo "replace("<body>","<body><iframe... (2 Replies)
Discussion started by: digitalviking
2 Replies

7. UNIX for Dummies Questions & Answers

awk output problem

Hi Gurus, I have a file which has some fields separated with multiple spaces or single space. data 1 2 3 4 5 6 4 5 5 7 7 8 9 4 6 10 and so on..... The problem I am facing is the output of the awk program... (2 Replies)
Discussion started by: sanjay.login
2 Replies

8. Shell Programming and Scripting

problem with suppressed output to file using echo and tee command

Hi, When I run the following command in terminal it works. The string TEST is appended to a file silently. echo TEST | tee -a file.txt &>/dev/null However, when I paste this same line to a file, say shell1.sh, and use bourne shell . I run this file in terminal, ./shell1.sh. However I... (1 Reply)
Discussion started by: shahanali
1 Replies

9. Shell Programming and Scripting

Writing output into different files while processing file using AWK

Hi, I am trying to do the following using AWK program. 1. Read the input data file 2. Parse the record and see if it contains errors 3. If the record contains errors, then write it into Reject file, else, write into usual output file or display it on the screen Here is what I have done -... (6 Replies)
Discussion started by: vidyak
6 Replies

10. UNIX for Dummies Questions & Answers

Writing to a file without echo it to the console !!!!

hi all, I am trying to write some message to a file using the following command. echo "${MESSAGE}" >&1 | tee -a ${File_name} can the same be done without using echo . I don't want the result to be displayed to the console. Can anyone guide me. Thanks in advance (6 Replies)
Discussion started by: amit_kv1983
6 Replies
Login or Register to Ask a Question

Featured Tech Videos