07-11-2007
awk substr
Hi
I have multiple files that name begins bidb_yyyymm. (yyyymm = current year month of file creation).
What I want to do is look at the files and where yyyymm is older than 1 month I want to remove the file from the server.
I was looking at looping through the files and getting the yyyymm from the filename and comparing it to the cuurent dates yyyymm.
for file in `ls *.gz`
do
now=`date '+%Y%m'`
fileext=awk substr($file,6,6)
if [$now-$fileext] <> 0
then
rm $file
fi
I was looking at awk substr to get the part of the filename i require but could not get this to work.
Has anyone done anything like this before or can point me in the right direction to achieve my objectives.
Cheers
Gary
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Sorry if this has been posted before, I searched but not sure what I really want to do.
I have a file with records that show who has logged into my application:
2003-03-14:I:root: Log_mesg: registered servername:userid. (more after this)
I want to pull out the userid, date and time into... (2 Replies)
Discussion started by: MizzGail
2 Replies
2. Shell Programming and Scripting
Hi all,
I have a flatfile
I would like to get ext = 7950 , how do I do that ?
if ($1 == "CTI-ProgramStart") {
ext = substr($9,index($9,"Extension")+11,4);
But why it is not working ???? Please help .
Thanks (1 Reply)
Discussion started by: sabercats
1 Replies
3. UNIX for Dummies Questions & Answers
i have a variable 200612
the last two digits of this variable should be between 1 and 12, it should not be greater than 12 or less than 1 (for ex: 00 or 13,14,15 is not accepted)
how do i check for this conditions in a unix shell script.
thanks
Ram (3 Replies)
Discussion started by: ramky79
3 Replies
4. UNIX for Dummies Questions & Answers
I have a variable '$test' that has the following string value:
$test = 123|456|789|0123
How would I select just the first element ('123') using awk.
Note: '|' is the delimiter, and the length of each field can vary.
Thanks,
- CB (3 Replies)
Discussion started by: ChicagoBlues
3 Replies
5. Shell Programming and Scripting
I have the following to find lines matching "COMPLETE" and extract parts of it using substr.
sed -n "/COMPLETE/p" 1.txt | awk 'BEGIN { FS = "\" } {printf"%s %s:%s \n", substr($3,17,3),substr($6,4,1), substr($7,4,1)}' | sort | uniq > temp.txt
Worked fine until the numbers in 2nd & 3rd substr... (5 Replies)
Discussion started by: zpn
5 Replies
6. Shell Programming and Scripting
HI I am using awk and substr function to list out the directory names in the present working directory .
I am using below code
ls -l | awk '{ if ((substr($1,1,1)) -eq d) {print $9 }}'
But the problem is i am getting all the files and directories listed where as the requirement i wrote... (7 Replies)
Discussion started by: prabhu_kumar
7 Replies
7. Shell Programming and Scripting
Hi to all,
I'm here again, cause I need your help to solve another issue for me.
I have some files that have this name format: date_filename.csv
In my shell I must rename each file removing the date so that the file name is filename.csv
To do this I use this command:
fnames=`ls ${fname}|... (2 Replies)
Discussion started by: leobdj
2 Replies
8. Shell Programming and Scripting
Hello life savers!!
Is there any way to use substr in awk command for returning one part of a string from declared start and stop point?
I mean I know we have this:
substr(string, start, length)
Do we have anything like possible to use in awk ? :
substr(string, start, stop)
... (9 Replies)
Discussion started by: @man
9 Replies
9. Shell Programming and Scripting
Hi,
- In a file test.wmi
Col1 | firstName | lastName
4003 | toto_titi_CT- | otot_itit
- I want to have only ( colones $7,$13 and $15) with code 4003 and 4002. for colone $13 I want to have the whole name untill _CT- or _GC-
1- I used the command egrep with awk
#egrep -i... (2 Replies)
Discussion started by: georg2014
2 Replies
10. Shell Programming and Scripting
Hello All;
I have an input file 'abc.txt' with below text:
512345977,213458,100021
512345978,213454,100031
512345979,213452,100051
512345980,213455,100061
512345981,213456,100071
512345982,213456,100091
512345983,213457,100041
512345984,213451,100011
I need to paste the first field... (10 Replies)
Discussion started by: mystition
10 Replies
CAL(1) BSD General Commands Manual CAL(1)
NAME
cal, ncal -- displays a calendar and the date of easter
SYNOPSIS
cal [-jy] [[month] year]
cal [-j] -m month [year]
ncal [-jJpwy] [-s country_code] [[month] year]
ncal [-Jeo] [year]
DESCRIPTION
The cal utility displays a simple calendar in traditional format and ncal offers an alternative layout, more options and the date of easter.
The new format is a little cramped but it makes a year fit on a 25x80 terminal. If arguments are not specified, the current month is dis-
played.
The options are as follows:
-J Display Julian Calendar, if combined with the -e option, display date of easter according to the Julian Calendar.
-e Display date of easter (for western churches).
-j Display Julian days (days one-based, numbered from January 1).
-m month
Display the specified month.
-o Display date of orthodox easter (Greek and Russian Orthodox Churches).
-p Print the country codes and switching days from Julian to Gregorian Calendar as they are assumed by ncal. The country code as deter-
mined from the local environment is marked with an asterisk.
-s country_code
Assume the switch from Julian to Gregorian Calendar at the date associated with the country_code. If not specified, ncal tries to
guess the switch date from the local environment or falls back to September 2, 1752. This was when Great Britain and her colonies
switched to the Gregorian Calendar.
-w Print the number of the week below each week column.
-y Display a calendar for the specified year.
A single parameter specifies the year (1 - 9999) to be displayed; note the year must be fully specified: ``cal 89'' will not display a calen-
dar for 1989. Two parameters denote the month and year; the month is either a number between 1 and 12, or a full or abbreviated name as
specified by the current locale. Month and year default to those of the current system clock and time zone (so ``cal -m 8'' will display a
calendar for the month of August in the current year).
A year starts on Jan 1.
SEE ALSO
calendar(3), strftime(3)
HISTORY
A cal command appeared in Version 5 AT&T UNIX. The ncal command appeared in FreeBSD 2.2.6.
AUTHORS
The ncal command and manual were written by Wolfgang Helbig <helbig@FreeBSD.org>.
BUGS
The assignment of Julian--Gregorian switching dates to country codes is historically naive for many countries.
BSD
November 23, 2004 BSD