Sponsored Content
Full Discussion: An other awk problem
Top Forums UNIX for Advanced & Expert Users An other awk problem Post 10927 by Jimbo on Sunday 25th of November 2001 10:00:38 AM
Old 11-25-2001
Nice code, Perderabo.

Here is an awk solution:
Code:
#!/bin/sh

year=$1
month=$2
week=$3
day=$4

export month week day

cal $month $year | cat -n |
awk -v m=$month -v w=$week -v d=$day \
   'BEGIN {split("Jan Feb ... Nov Dec",mo)
           split("Sun Mon Tue Wed Thu Fri Sat",dow)}
    NF>1&&$1==w+2 {
       if (d>=NF)
           print "non-existant day of week"
        else
           print dow[d+8-NF], mo[m], $(d+1)}'

You need to expand the month array where I have "...". I am assuming that when week 1 starts on Thursday, then Thursday would be day 1.

Output format is: Tue Nov 20

added code tags for readability --oombera

Last edited by oombera; 02-20-2004 at 12:41 PM..
Jimbo
 

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
INTLCALENDAR.GETMINIMALDAYSINFIRSTWEEK(3)				 1				 INTLCALENDAR.GETMINIMALDAYSINFIRSTWEEK(3)

IntlCalendar::getMinimalDaysInFirstWeek - Get minimal number of days the first week in a year or month can have

	Object oriented style

SYNOPSIS
public int IntlCalendar::getMinimalDaysInFirstWeek (void ) DESCRIPTION
Procedural style int intlcal_get_minimal_days_in_first_week (IntlCalendar $cal) Returns the smallest number of days the first week of a year or month must have in the new year or month. For instance, in the Gregorian calendar, if this value is 1, then the first week of the year will necessarily include January 1st, while if this value is 7, then the week with January 1st will be the first week of the year only if the day of the week for January 1st matches the day of the week returned by IntlCalendar.getFirstDayOfWeek(3); otherwise it will be the previous years last week. PARAMETERS
o $cal - The IntlCalendar resource. RETURN VALUES
An int representing a number of days or FALSE on failure. EXAMPLES
Example #1 IntlCalendar.getMinimalDaysInFirstWeek(3) <?php ini_set('date.timezone', 'UTC'); ini_set('intl.default_locale', 'en_US'); $cal = new IntlGregorianCalendar(2013, 0 /* January */, 2); var_dump(IntlDateFormatter::formatObject($cal, 'cccc')); // Wednesday var_dump($cal->getMinimalDaysInFirstWeek(), // 1 $cal->getFirstDayofWeek()); // 1 (Sunday) // Week 1 of 2013 var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y")); $cal->setMinimalDaysInFirstWeek(4); // Still Week 1 of 2013 (1st week has 5 days in the new year) var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y")); $cal->setMinimalDaysInFirstWeek(6); // Week 53 of 2012 var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y")); The above example will output: string(9) "Wednesday" int(1) int(1) string(14) "Week 1 of 2013" string(14) "Week 1 of 2013" string(15) "Week 53 of 2012" PHP Documentation Group INTLCALENDAR.GETMINIMALDAYSINFIRSTWEEK(3)
All times are GMT -4. The time now is 09:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy