Sponsored Content
Full Discussion: awk command with a loop
Top Forums Shell Programming and Scripting awk command with a loop Post 303001808 by aberg on Friday 11th of August 2017 01:40:59 PM
Old 08-11-2017
Thank you RudiC.

Yes, your interpretation is correct, and it is vitally important that I populate an exclusion file. The original file itself should eventually grind itself down to 0 lines, and it is the the exclusion file that I am interested in.

My latest attempt is as follows (it involves having to rename file.txt to 1.txt):

Code:
#! bin/bash for i in {1..5000} 
do awk 'NR==1{print;}' $i.txt 
awk '{if ($3>$4 || $3==$4 && $5<$6) print $2;}' $i.txt > exclusionlist_$i.txt 
awk '{if ($3>$4 || $3==$4 && $5>$6) print $1;}' $i.txt >> exclusionlist_$i.txt 
grep -v -f exclusionlist_$i.txt $i.txt > $((i+1)).txt 
rm $i.txt 
done

Due to my poor scripting skills, I am having to: (1) rename my file after each loop in order for it to be continuously executed, and (2) ending up with a new exclusion list per loop, rather than a single 'master' exclusion list - I can easily concatenate them all at the end, so this is not a major problem, but it's messy.

The problem I have when I execute this script is that it seems to scan through the whole file on the first pass (rather than just line 1), creating a long exclusion list just from the first run.

Any help/suggestions would be greatly appreciated.

Thank you.

AB
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Awk command in while loop

Hello! I've got a loop in which I am processing a list of values gotten through a file with read command. It seems that instead of processing the lines (values) one by one, I process them all together. the input file is: 20 20 20 80 70 70 20 The code is: (2 Replies)
Discussion started by: haaru
2 Replies

2. Shell Programming and Scripting

Comparison and editing of files using awk.(And also a possible bug in awk for loop?)

I have two files which I would like to compare and then manipulate in a way. File1: pictures.txt 1.1 1.3 dance.txt 1.2 1.4 treehouse.txt 1.3 1.5 File2: pictures.txt 1.5 ref2313 1.4 ref2345 1.3 ref5432 1.2 ref4244 dance.txt 1.6 ref2342 1.5 ref2352 1.4 ref0695 1.3 ref5738 1.2... (1 Reply)
Discussion started by: linuxkid
1 Replies

3. Shell Programming and Scripting

awk command in script gives error while same awk command at prompt runs fine: Why?

Hello all, Here is what my bash script does: sums number columns, saves the tot in new column, outputs if tot >= threshold val: > cat getnon0file.sh #!/bin/bash this="getnon0file.sh" USAGE=$this" InFile="xyz.38" Min="0.05" # awk '{sum=0; for(n=2; n<=NF; n++){sum+=$n};... (4 Replies)
Discussion started by: catalys
4 Replies

4. Shell Programming and Scripting

Problem Using If & For loop in AWK Command

I am parsing file for the fields using awk command, first i check 26th field for two characters using substr function if it matches then using for loop on array i search 184th field for 4 chars if it matches then i print the required fields but on execution i get the error, please help...... (5 Replies)
Discussion started by: siramitsharma
5 Replies

5. Shell Programming and Scripting

For loop, awk command issue

limit.csv data -------------- 5600050 38Nhava 400077 27Bomay rate.txt data ------------- 38NhaVA 27BomaY 27Bomay below is my script: for i in `cat limit.csv` do b=`awk '{print $1}' $i` (4 Replies)
Discussion started by: p_satyambabu
4 Replies

6. Shell Programming and Scripting

If else condition inside for loop of awk command in UNIX shell scripting

Hi , Please excuse me for opening a new thread i am unable to find out the syntax error in my if else condition inside for loop in awk command , my actual aim is to print formatted html td tag when if condition (True) having string as "failed", could anyone please advise what is the right... (2 Replies)
Discussion started by: karthikram
2 Replies

7. Shell Programming and Scripting

awk loop using array:wish to store array values from loop for use outside loop

Here's my code: awk -F '' 'NR==FNR { if (/time/ && $5>10) A=$2" "$3":"$4":"($5-01) else if (/time/ && $5<01) A=$2" "$3":"$4-01":"(59-$5) else if (/time/ && $5<=10) A=$2" "$3":"$4":0"($5-01) else if (/close/) { B=0 n1=n2; ... (2 Replies)
Discussion started by: klane
2 Replies

8. Shell Programming and Scripting

awk programming -Passing variable to awk for loop

Hi All, I am new to AWK programming. I have the following for loop in my awk program. cat printhtml.awk: BEGIN -------- <some code here> END{ ----------<some code here> for(N=0; N<H; N++) { for(M=5; M<D; M++) print "\t" D ""; } ----- } ... (2 Replies)
Discussion started by: ctrld
2 Replies

9. Shell Programming and Scripting

How to use a loop for multiple files in a folder to run awk command?

Dear folks I have two data set which there names are "final.map" and "1.geno" and look like this structures: final.map: gi|358485511|ref|NC_006088.3| 2044 gi|358485511|ref|NC_006088.3| 2048 gi|358485511|ref|NC_006088.3| 2187 gi|358485511|ref|NC_006088.3| 17654 ... (2 Replies)
Discussion started by: sajmar
2 Replies

10. UNIX for Dummies Questions & Answers

Loop awk command on files in a folder

Hi, I'd like to loop an action over all files with given extension within a folder. The "main" action is: awk -F "\t" 'BEGIN{OFS="\t"}{if ($10=="S") print$0; }' input.txt > output.txt The input.txt should be every file in the folder with *.subVCF extension; and the output should be a file... (3 Replies)
Discussion started by: dovah
3 Replies
bntext(5)							File Formats Manual							 bntext(5)

NAME
bnmotd.txt, bnnews.txt bnissue.txt - messages for the Unix Battle.net daemon DESCRIPTION
The file bnmotd.txt contains text displayed by bnetd(1), when users first log into the server. The file bnnews.txt contains text displayed when the user uses the /news chat command. The files consist of raw text with printf-style formatting escapes. Each line of a file can contain a type formatter from the following list: %B Use the broadcast attribute (???). %C Execute the line as if the user entered it as a command. %E Use the error attribute (red). %I Use the info attribute (yellow). This is the same was %W. %M Normal chat message (white). This will appear as if the user said it. %T Emote chat message (???). This will appear as if the user said it. %W Use the warning attribute (yellow). This is the same was %I. Within a line, any of the following format formatters may be used: %% Expand to a literal percent sign (%). %a Expand to the number of accounts on the server. %c Expand to the number of channels on the server. This includes all permanent and current temporary channels. %g Expand to the number of games on the server. This includes both public and private (passworded) games. %h Expand to the hostname of the server (as returned by gethostname(2)). %i Expand to this user's account ID number, formatted with a leading pound (#) sign and leading zeros. %l Expand to this user's current chat name which is usually the same %r Expand to the IP of the remote machine (the client). %t Expand to four character client tag. %u Expand to the number of users logged into the server. %v Expand to the version number of the server. SEE ALSO
bnetd(1) AUTHOR
Ross Combs (ross@bnetd.org) 2 August, 2001 bntext(5)
All times are GMT -4. The time now is 01:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy