converting 6 digit column to dates format


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers converting 6 digit column to dates format
# 8  
Old 10-05-2005
....tried #! /bin/bash and it puts out a not found

Sorry Guys , so I 've changed the heading to

#! /bin/Ksh

now I get the following errors

UX:touch: ERROR: Bad date conversion
is older
UX:touch: ERROR: Bad date conversion
Oct 24 05 is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Oct 03 05 is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Dec 16 05 is older

etc etc etc!
# 9  
Old 10-05-2005
touch -t "$YR$mon$DAY0000" /tmp/FILEOLD looks wrong.
try:
touch -t "$YR$MON$DAY0000" /tmp/FILEOLD
# 10  
Old 10-05-2005
tried that and same errors again

Oct is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Oct is older
UX:touch: ERROR: Bad date conversion
Jan 26 06 is older
UX:touch: ERROR: Bad date conversion
Jan is older
UX:touch: ERROR: Bad date conversion
Jan is older
UX:touch: ERROR: Bad date conversion
Jan is older
UX:touch: ERROR: Bad date conversion
Jan is older
# 11  
Old 10-05-2005
Actually, I don't see a need for files at all...

Code:
#! /bin/ksh
# gerry.sh
# input  071205
# output Dec 07 2005
#

# Base date is Oct 19, 2005.
BASE=051019

while read line
do
        DAY=${line%????}
        line=${line#$DAY}
        MON=${line%??}
        YR=${line#??}

        case "$MON" in
        "01") mon=Jan ;;
        "02") mon=Feb ;;
        "03") mon=Mar ;;
        "04") mon=Apr ;;
        "05") mon=May ;;
        "06") mon=Jun ;;
        "07") mon=Jul ;;
        "08") mon=Aug ;;
        "09") mon=Sep ;;
        "10") mon=Oct ;;
        "11") mon=Nov ;;
        "12") mon=Dec ;;
        esac

        
        thisdate=${YR}${MON}${DAY}
        if [[ $thisdate < $BASE ]] ; then
        echo "$mon $DAY $YR is newer"
        else
        echo "$mon $DAY $YR is older"
        fi ;
done < gerry.txt
exit 0

# 12  
Old 10-05-2005
almost

Perderabo...thanks for that it seems to run a lot quicker now
also some of the lines in the file are blank, don't know if that would be relevant or not, but I need to keep these there untouched

output ...below

Jan is older
Mar 13 06 is older
Nov 30 05 is older
Oct 18 05 is older
Oct 26 05 is older
Oct 26 05 is older
Oct is older
Oct is older
Oct is older
Jan 24 06 is older
Jan is older
Oct 23 05 is older
Oct is older
# 13  
Old 10-05-2005
When I use the data you posted I get:
Dec 07 05 is older
Oct 14 05 is newer
Dec 09 05 is older
Nov 11 05 is older
Oct 05 05 is newer
Oct 14 05 is newer
Oct 26 05 is older
Oct 18 05 is newer

That is 8 lines of output which makes sense since you posted 8 lines of input. Since you got thirteen lines of output I must conclude that you used different data which you have not shared. *shrug*
# 14  
Old 10-05-2005
Apologies...humbly

using the data posted I get the following output

UX:ksh: ERROR: BASE: not found
Dec 07 05 is older
Oct 14 05 is older
Dec 09 05 is older
Nov 11 05 is older
Oct 05 05 is older
Oct 14 05 is older
Oct 26 05 is older
Oct 18 05 is older

Last edited by Gerry405; 10-05-2005 at 01:59 PM..
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Converting dates to iso format

Hi , i am trying to read a tsv file record by record and change the date column with iso date format. it have different dates with format like mm/dd/yyyy HH:MM:SS EST ,i am trying serarch for the date format lke this yyyy-mm-dd HH:MM:SS EST and replace to it if dosent match that format . Any... (2 Replies)
Discussion started by: vikatakavi
2 Replies

2. Shell Programming and Scripting

Converting Single Column into Multiple rows, but with strings to specific tab column

Dear fellows, I need your help. I'm trying to write a script to convert a single column into multiple rows. But it need to recognize the beginning of the string and set it to its specific Column number. Each Line (loop) begins with digit (RANGE). At this moment it's kind of working, but it... (6 Replies)
Discussion started by: AK47
6 Replies

3. UNIX for Dummies Questions & Answers

Converting column to rows for every 3 lines in the column

Hi gurus! Please help me with this one. I have an file with the following contents: a b c d e f g h i j I would like to make to transform it to look like this as my output file: a,b,c d,e,f (4 Replies)
Discussion started by: kokoro
4 Replies

4. Shell Programming and Scripting

command for converting 4 column data to 1 column

dear friends I want to convert four column data to one column data. For example: from 1, 2, 3, 4 5, 6, 7, 8to 1 2 3 4 5 6 7 8what is the general command for that type of convertion. thanks (5 Replies)
Discussion started by: rpf
5 Replies

5. Shell Programming and Scripting

Converting windows format file to unix format using script

Hi, I am having couple of files which i used to copy from windows to Linux, so now in case of text files (CTRL^M) appears at end of line. I know i can convert this windows format file to unix format file by running dos2unix. My requirement here is that i want to do it automatically using a... (5 Replies)
Discussion started by: sarbjit
5 Replies

6. Shell Programming and Scripting

Dates not comparing correct even the same format

I have the date of the file passed into a variable also current date formatted same passed into a separate variable and compare the two with an if statement and statement always comes up false. Even though I verified the dates. Any help would be awesome. Filecrtdate=`ls -l $i | awk '{print... (19 Replies)
Discussion started by: coderanger
19 Replies

7. Shell Programming and Scripting

Split large file based on last digit from a column

Hello, What's the best way to split a large into multiple files based on the last digit in the first column. input file: f 2738483300000x0y03772748378831x1y13478378358383x2y23743878383802x3y33787828282820x4y43748838383881x5y5 Desired Output: f0 3738483300000x0y03787828282820x4y4 f1... (9 Replies)
Discussion started by: alain.kazan
9 Replies

8. Shell Programming and Scripting

Need script to generate all the dates in DDMMYY format between 2 dates

Hello friends, I am looking for a script or method that can display all the dates between any 2 given dates. Input: Date 1 290109 Date 2 010209 Output: 300109 310109 Please help me. Thanks. :):confused: (2 Replies)
Discussion started by: frozensmilz
2 Replies

9. UNIX for Advanced & Expert Users

Select entries between two dates by converting Unix timestamp in Oracle Database.

Hi, I need to select the entries between two dates from an Oracle db. The Oracle db has a column with Unix timestamps. I use the following querry, but it doesnt seem to be working as desired. select count(*) from reporter_status where to_char(FIRSTOCCURRENCE, 'mm-dd-yy') between ('08-07-06')... (1 Reply)
Discussion started by: amitsayshii
1 Replies

10. Shell Programming and Scripting

Format dates

I have a date that is received as text in Jan 1 2002 12:00AM format. Can anyone give me any ideas how to format that in oracle format i.e. 01-JAN-02 (1 Reply)
Discussion started by: jinky
1 Replies
Login or Register to Ask a Question