Sponsored Content
Top Forums Shell Programming and Scripting ksh/nawk help with if statement to choose between 2 files Post 302536963 by ther2000 on Wednesday 6th of July 2011 04:36:30 PM
Old 07-06-2011
ksh/nawk help with if statement to choose between 2 files

Hi! I am having a bit of a problem with my script. There are two different date formats that may appear in a file, either Jul-12 or Jul--6. I tried to create an if statement that searches for one of the formats and if that doesn't exist searches for the other, however it doesn't seem to be working. Please see below:

Code:
 
YESTER=`TZ=aaa24 date +%b"-"%d`
 
YESTERF=`TZ=aaa24 date +%b"-"%d | sed 's/-0/--/'`
 
filelista=$(find /export/home/gen/cks/traces \( -name \*$YESTERF\* ! -name \*DNA\* \) -print | tr '\n' ' ')
filelistb=$(find /export/home/gen/cks/traces \( -name \*$YESTER\* ! -name \*DNA\* \) -print | tr '\n' ' ')
 
if [[ ! -e $filelista ]]
then
filelist=$filelistb
elif [[ -e $filelista ]]
then
filelist=$filelista 
else
print "No filelist found!"
fi
 
print "Date/Time,Location,Shelf,IP,Reason,Log Filename" >> $OUTPUT
nawk -F':' '
$2 ~ /Reason/ && $3 !~ /(PASSTHRU|OCP|FP Power Button|Bootloader|PFR|MEM)/ {
split(FILENAME, a, "-")
f = a[1]
while (i = index(f, "/")) f = substr(f, i+1)
sub("\r$", "");
printf("%s %s,%s %s,%s,%s,%s,%s-%s-%s-%s-%s-%s-%s-%s-%s\n", a[5], a[6], a[2], a[3], a[4], f, $0, f, a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9])
}' $filelist >> $OUTPUT

I think it has to do with the if statement as I ran it previously with only on of the two filelists and it worked properly. However, when the date changes to Jul10th and on I will need it to switch to the other format.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

ksh in vi mode, choose from output

is there a way to choose the complement from the output from the sequense in "ksh -o vi" root# ls testa testb root# cat tes 1) testa 2) testb root# cat tes <-- what to do now? this output looks like a select function, otherwise the numbers wouldn't make sense, is there a chance to use... (2 Replies)
Discussion started by: pressy
2 Replies

2. UNIX for Dummies Questions & Answers

Let statement in ksh HELP

I have: datafile contains 1234567890 >wc -c datafile | awk '{print $1}' >11 The program #!/bin/ksh let n = (wc -c datafile | awk '{print $1}') echo $n I expect n to be 11 but it gives error message. What is wrong with this statement? Thanks! (3 Replies)
Discussion started by: bobo
3 Replies

3. Shell Programming and Scripting

nawk/ksh help

Hello, First of all, I am trying to duplicate the sum command using ksh/nawk Lets assume the following algorithms work just fine and there is no calculation errors what so ever (which I doubt at this minute). For now, I wanna make sure the script uses the BSD algorithim if -r is used... (0 Replies)
Discussion started by: DeltaX
0 Replies

4. Shell Programming and Scripting

I can't seem to pass variables properly into a nawk statement

Ok, So up front I'm going to say that I'm a very elementary scripter, and I tend to use tools I don't fully understand, but I shotgun at something until I can get it to work...that said, I can't for the life of me understand why I can't get this to go down the way I want it to. The goal: -to... (6 Replies)
Discussion started by: DeCoTwc
6 Replies

5. UNIX for Dummies Questions & Answers

Arrays in nawk and ksh

I'm not confident at all on how arrays work. I want to know how to set arrays in ksh and in nawk (is there a difference??) if someone can show me some examples of both that will be great. Tried to look up on the net but was confusing me more. Any help would be appreciated. (2 Replies)
Discussion started by: Pablo_beezo
2 Replies

6. Shell Programming and Scripting

nawk: illegal statement at source line 1

Hello Everyone, I don't know what is wrong with this: Is it that nawk cannot run a ".sh" script or is it not treating "." as a literal. If so how to make "." be treated as a literal in "nawk" statemnts? Thanks in Advance (2 Replies)
Discussion started by: bhaire
2 Replies

7. AIX

can't parse this nawk statement

hi all i have the following portion in an xml file: </n:AOMessage> <?xml version="1.0" encoding="UTF-8"?> <n:AOMessage xmlns:n="urn:ao:hs:update:shell" xmlns:bo="urn:ao:hs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ao:hs:update:shell... (0 Replies)
Discussion started by: chipahoys
0 Replies

8. Shell Programming and Scripting

awk or nawk in ksh

I am trying to use either awk or nawk in ksh88 to grep the word "Reason" in multiple files and than print the lines that say "Reason" in a particular format that is different from how they would normally print. The original input is as follows: ... (10 Replies)
Discussion started by: ther2000
10 Replies

9. Shell Programming and Scripting

How to get user to choose files to be copied to FTP server?

Hey all. I'm writing a script to automatically login to a router, change directories to where crashfiles are located, then listing all files in that directory. This is where I'm at so far and wish to have some user interaction to choose the files. What I am trying to do is list the files and get... (1 Reply)
Discussion started by: Gouda
1 Replies
DATE(1) 						      General Commands Manual							   DATE(1)

NAME
date - print or set the date and time SYNOPSIS
date [-qsu] [[MMDDYY]hhmm[ss]] [+format] OPTIONS
-q Read the date from stdin -s Set the time (implicit for -q or a date string) -u Print the date as GMT -t Use this number of seconds instead of current time EXAMPLES
date # Print the date and time date 0221921610 # Set date to Feb 21, 1992 at 4:10 p.m. DESCRIPTION
With the -q flag or a numeric argument, date sets the GMT time and date. MMDDYY refers to the month, day, and year; hhmmss refers to the hour, minute and second. Each of the six fields must be exactly two digits, no more and no less. date always display the date and time, with the default format for the system. The -u flag request GMT time instead of local time. A format may be specified with a + followed by a printf-like string with the following options: %% % character %A Name of the day %B Name of the month %D mm/dd/yy %H Decimal hour on 2 digits %I Decimal hour modulo 12 on 2 digits %M Decimal minute on 2 digits %S Decimal seconds on 2 digits %T HH:MM:SS %U Decimal week number, Sunday being first day of week %W Decimal week number, Monday being first day of week %X Same as %T %Y Decimal year on 4 digits %Z Time Zone (if any) %a Abbreviated name of the day %b Abbreviated name of the month %c Appropriate date & time (default format) %d Decimal day of the month on 2 digits %e Same as %d, but a space replaces leading 0 %h Same as %b %j Decimal dey of the year on 3 digits %m Decimal month on 2 digits %n Newline character %p AM or PM %r 12-hour clock time with AM/PM %s Number of seconds since the epoch %t Tab character %w Decimal day of the week (0=Sunday) %x Same as %D %y Decimal year on 2 digits SEE ALSO
time(2), ctime(3), readclock(8). DATE(1)
All times are GMT -4. The time now is 07:13 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy