Sponsored Content
Full Discussion: Problem using if else in awk
Top Forums Shell Programming and Scripting Problem using if else in awk Post 302874251 by pr5439 on Thursday 14th of November 2013 02:26:00 PM
Old 11-14-2013
thanks neutronscott, your code seems to solve most of it, but one logic is missed here. May be one of the constraints was not totally explained, i'll elaborate that again:
Quote:
else if any object (other than objFW1 and objFW2 and List00 ) are in WO(working) state, despite rest objects in WA(waiting) or AC(activated) state, state must be "InProgress"
your code snippet here, ignores WA state of obj003 and obj004 and returns a NA(implies wrong logic if state = NA after all checks) state if all FW objects are CO(completed)
Code:
($1 !~ /^objFW/) {
                        obj++
                        if ($NF == "WO") objWO++
                        if ($NF == "CO") objCO++
                }
                END {
                        if (!state) {
                                if (objCO == obj)
                                        state="Completed"
                                else if (objWO > 0)
                                        state="InProgress"
                                else
                                        state="NA"
                        }
                        print state
                }' "$1"

I myself will try on that but any help from anyone too is very welcome. i think slight tweak in the conditional part will serve the purpose.

Last edited by pr5439; 11-14-2013 at 03:58 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

AWK Problem

Hi, I posted something here about this yesterday but I can't seem to find it. I needed help writting a script which would append a file with new lines after every so many charachters. Example: (my original flat file) L60 LETTER OF CREDIT 60 DAYS W00 ON RECEIPT WIRE TRANSFER W30 NET... (12 Replies)
Discussion started by: gseyforth
12 Replies

2. Shell Programming and Scripting

Problem with AWK

Hi All, How can i store a value of the unix command executed in AWK with system command. devise=`cut -c1-3 dvgp.txt` I wrote this command in awk as awk'{ code= sprintf("devise=`cut -c1-3 dvgp.txt`"); system(code); }' Is this correct. can you please suggest me how the code can be... (1 Reply)
Discussion started by: krishna_gnv
1 Replies

3. Shell Programming and Scripting

problem using awk

Hi there every body I'm new to shell scripting and there is a problem facing me,, please look at the following piece of code: awk ' BEGIN{ FS="<assertion id=\1"; RS="<assertion id=\"2"}/<assertion id=\"1/{print FS$2 > "/home/ds2/test/output.txt"} ' filename all I wanna do is to... (6 Replies)
Discussion started by: senior_ahmed
6 Replies

4. Shell Programming and Scripting

Awk problem: How to express the single quote(') by using awk print function

Actually I got a list of file end with *.txt I want to use the same command apply to all the *.txt Thus I try to find out the fastest way to write those same command in a script and then want to let them run automatics. For example: I got the file below: file1.txt file2.txt file3.txt... (4 Replies)
Discussion started by: patrick87
4 Replies

5. Shell Programming and Scripting

Problem with awk awk: program limit exceeded: sprintf buffer size=1020

Hi I have many problems with a script. I have a script that formats a text file but always prints the same error when i try to execute it The code is that: { if (NF==17){ print $0 }else{ fields=NF; all=$0; while... (2 Replies)
Discussion started by: fate
2 Replies

6. Shell Programming and Scripting

awk problem

Find the number of files with sizes > 100KB in /, /bin, /usr, /usr/bin and /usr/sbin directories and output them in a two column format with the name of the directory and the number of files. i tried with awk $>ls -lh | awk '/^-/ && $5 >= 100k {print $8 $5}' but it is not working pls tell... (3 Replies)
Discussion started by: abhikamune
3 Replies

7. UNIX for Dummies Questions & Answers

Little problem with AWK

I thought I had solved this problem but after testing the script I came to realize that it is not doing what I need. So, here it goes again. This is the code: awk '/\>/{F=$2; N=$3; split(FILENAME, A, "."); getline; x = ">"}{print ">" A"-" x++" "F" " N"\n" $0}' This is the input file: ... (5 Replies)
Discussion started by: Xterra
5 Replies

8. Shell Programming and Scripting

awk problem - combining awk statements

i have a datafile that has several lines that look like this: 2,dataflow,Sun Mar 17 16:50:01 2013,1363539001,2990,excelsheet,660,mortar,660,4 using the following command: awk -F, '{$3=strftime("%a %b %d %T %Y,%s",$3)}1' OFS=, $DATAFILE | egrep -v "\-OLDISSUES," | ${AWK} "/${MONTH} ${DAY}... (7 Replies)
Discussion started by: SkySmart
7 Replies

9. Shell Programming and Scripting

awk problem

i have an email list in file.txt with comma separated line1 - FIELD1,pippo@gmail.com,darth@gmail.com line2 - FIELD2,pippo@gmail.com,darth@gmail.com,sampei@gmail.com output=(awk -F ',' -v var="$awkvar" '$1==var {print $2,$3,$4}' spreadsheet.txt)but awk delete some letters at the... (8 Replies)
Discussion started by: pasaico
8 Replies

10. Shell Programming and Scripting

awk problem

Hi I have two columns and I would like to create a third column based on how many lines away from a value of 1 in column 2, for example I have 1,0 2,0 3,0 4,0 5,0 6,1 7,0 8,0 9,0 10,0 11,1 And I want an output (6 Replies)
Discussion started by: garethsays
6 Replies
CAP_INIT(3)						     Linux Programmer's Manual						       CAP_INIT(3)

NAME
cap_init, cap_free, cap_dup - capability data object storage management SYNOPSIS
#include <sys/capability.h> cap_t cap_init(void); int cap_free(void *obj_d); cap_t cap_dup(cap_t cap_p); USAGE
cc ... -lcap DESCRIPTION
The capabilities associated with a file or process are never edited directly. Instead, working storage is allocated to contain a represen- tation of the capability state. Capabilities are edited and manipulated only within this working storage area. Once editing of the capa- bility state is complete, the updated capability state is used to replace the capability state associated with the file or process. cap_init creates a capability state in working storage and return a pointer to the capability state. The initial value of all flags are cleared. The caller should free any releasable memory, when the capability state in working storage is no longer required, by calling cap_free with the cap_t as an argument. cap_free liberates any releasable memory that has been allocated to the capability state identified by obj_d. The obj_d argument may iden- tify either a cap_t entity, or a char * entity allocated by the cap_to_text function. cap_dup returns a duplicate capability state in working storage given by the source object cap_p, allocating any memory necessary, and returning a pointer to the newly created capability state. Once duplicated, no operation on either capability state affects the other in any way. RETURN VALUE
cap_init and cap_dup return a non-NULL value on success, and NULL on failure. cap_free returns zero on success, and -1 on failure. On failure, errno(3) is set to EINVAL, or ENOMEM. CONFORMING TO
These functions are specified by POSIX.1e. SEE ALSO
cap_clear(3), cap_copy_ext(3), cap_from_text(3), cap_get_file(3), cap_get_proc(3) 26th May 1997 CAP_INIT(3)
All times are GMT -4. The time now is 06:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy