Parsing a column of text file - best practices

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Parsing a column of text file - best practices
# 1  
Old 05-19-2017
Parsing a column of text file - best practices

HI Folks -

I hope all is well! I have a business process where I manage a text file of substitution variables and their values for a target system. After updating, I run a script to push the changes to the target system.

However, I'm trying to develop a method to be able to automatically advance values without manual intervention. Obviously there may be some exceptions I need to handle in an automated fashion which is fine.

So, the advancement I need to do is week, month and year, based on what subvar it is...

Here is a portion of a sample file :

Code:
CurrentWeek,02/04/17
CurrentWeekq,"02/04/17"
CurrentPeriod,FEB17
CurrenttPeriodq,"FEB17"
1PeriodPrior,JAN17
1PeriodPriorq,"JAN17"
2PeriodPrior,DEC17
2PeriorPriorq,"DEC17"
CurrentPlanYear,FY 2017
CurrentPlanYearq,"FY 2017"

So, i'm trying to understand the best way to advance. The process runs EVERY Saturday, so as you know, the subvars pertaining to the day/week (xx/xx/xx) will always roll forward, but month and year wont until a new month or new year changes...

So this Saturday, CurrentWeek would roll forward to 2/11/17..All others would remain the same.

However on march forth, all week and MONTH subvars will advance. Years wont advance until we advance for Jan 2018.

Just looking for the best way.

Thank you!
# 2  
Old 05-19-2017
With GNU date, you can try:
Code:
date +'CurrentWeek,%m/%d/%y
CurrentWeekq,"%m/%d/%y"
CurrentPeriod,%^b%y
CurrentPeriodq,"%^b%y"'
date +'1PeriodPrior,%^b%y
1PeriodPriorq,"%^b%y"' --date='1 month ago'
date +'2PeriodPrior,%^b%y
2PeriodPriorq,"%^b%y"' --date='2 months ago'
date +'CurrentPlanYear,FY %Y
CurrentPlanYearq,"FY %Y"'

# 3  
Old 05-19-2017
Thank you for that reply! Unforunately, CurrentWeek isn't actually the current week. Right now, its 02/04/17.

That's where I'm struggling.
# 4  
Old 05-20-2017
And what does "02/04/17" represent? Would be valuable to know if we want to automate anything.
# 5  
Old 05-20-2017
My apologies, this is a new requirement for me and the data provided was outdated. Therefore, CurrentWeek actually means current week.

Since these are rolled forward every Saturday, CurrentWeek is 5/20/17.

As it looks, I'm going to try Scrutinzer's solution, but please suggest another option if there is a better way.

Thank you!
# 6  
Old 05-20-2017
Quote:
Originally Posted by SIMMS7400
My apologies, this is a new requirement for me and the data provided was outdated. Therefore, CurrentWeek actually means current week.

Since these are rolled forward every Saturday, CurrentWeek is 5/20/17.

As it looks, I'm going to try Scrutinzer's solution, but please suggest another option if there is a better way.

Thank you!
It's not just outdated, it's also inconsistent:
Code:
CurrentWeek,02/04/17
CurrentWeekq,"02/04/17"
CurrentPeriod,FEB17
CurrenttPeriodq,"FEB17"
1PeriodPrior,JAN17
1PeriodPriorq,"JAN17"
2PeriodPrior,DEC17
2PeriorPriorq,"DEC17"
CurrentPlanYear,FY 2017
CurrentPlanYearq,"FY 2017"

If the current week is in February 2017 and the previous period (where period is presumably a month) is January 2017, how is the period 2 months prior 10 months later (December 2017) instead of 2 months earlier (December 2016)?

Is this a homework assignment?

Last edited by Don Cragun; 05-20-2017 at 05:23 PM..
# 7  
Old 05-20-2017
Don -

Thank you for the reply.

I'm sorry for passing along bad requirements. Our firm is now responsible for some work admins used to do at this particular client therefore I am going through and establishing automation on many pieces of intraday business processes as most of it is manual - and this is one of the tasks.

Here is the correct data set :

Code:
CurrentWeek,05/20/17
CurrentWeekq,"05/20/17"
CurrentPeriod,MAY17
CurrenttPeriodq,"MAY17"
1PeriodPrior,APR17
1PeriodPriorq,"APR17"
2PeriodPrior,MAR17
2PeriorPriorq,"MAR17"
CurrentPlanYear,FY 2017
CurrentPlanYearq,"FY 2017"

I guesss my concern is when CurrentPeriod hits Jan and then Feb and how to return prior year to return 1PeriodPrior or 2PeriodPrior.

Thank you!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing a fixed column text file in sed

I have a text file with records of the form: A X1 Y1 X2 Y2 X3 Y3 where A is character length 10, Xi is character length 4 and Yi is numeric length 10. I want to parse the line, and output records like: A X1 Y1 A X2 Y2 A X3 Y3 etc Can anyone please give me an idea of how to do this. ... (4 Replies)
Discussion started by: wvdeijk
4 Replies

2. Shell Programming and Scripting

Parsing text file

Hi Friends, I am back for the second round today - :D My input text file is this way Home friends friendship meter Tools Mirrors Downloads My Data About Us Help My own results BLAT Search Results ACTIONS QUERY SCORE START END QSIZE IDENTITY CHRO STRAND ... (7 Replies)
Discussion started by: jacobs.smith
7 Replies

3. Shell Programming and Scripting

Parsing text file

I'm totally stumped with how to handle this huge text file I'm trying to deal with. I really need some help! Here is what is looks like: ab1ba67c331a3d731396322fad8dd71a3b627f89359827697645c806091c40b9 0.2 812a3c3684310045f1cb3157bf5eebc4379804e98c82b56f3944564e7bf5dab5 0.6 0.6... (3 Replies)
Discussion started by: comp8765
3 Replies

4. Programming

Parsing a Text file using C++

I was trying to parse the text file, which will looks like this ###XYZABC#### ############ int = 4 char = 1 float = 1 . . ############ like this my text file will contains lots of entries and I need to store these entries in the map eg. map.first = int and map.second = 4 same way I... (5 Replies)
Discussion started by: agupta2
5 Replies

5. UNIX for Dummies Questions & Answers

Replacing a specific column of a text file with another column

Hi, I have a text file in the following format: Code: 13412 NA06985 0 0 2 46.6432798439 4 4 4 4 13412 NA06991 NA06993 NA06985 2 48.8478948517 4 4 2 4 13412 NA06993 0 0 1 45.8022601455 4 4 2 4 13401 NA06994 0 0 1 48.780669145 4 4 4 4 13401 NA07000 0 0 2 47.7312017846 2 4 4 4 ... (2 Replies)
Discussion started by: evelibertine
2 Replies

6. UNIX for Dummies Questions & Answers

Replacing a specific column of a text file with another column

I have a text file in the following format: 13412 NA06985 0 0 2 46.6432798439 4 4 4 4 13412 NA06991 NA06993 NA06985 2 48.8478948517 4 4 2 4 13412 NA06993 0 0 1 45.8022601455 4 4 2 4 13401 NA06994 0 0 1 48.780669145 4 4 4 4 13401 NA07000 0 0 2 47.7312017846 2 4 4 4 13402 NA07019... (3 Replies)
Discussion started by: evelibertine
3 Replies

7. Shell Programming and Scripting

Need help parsing a text file

I have a text file: router1#sh ip blah blah | incl --- Gi2/8 10.60.4.181 --- 10.60.123.175 11 0000 0000 355K Gi2/8 10.60.83.28 --- 224.10.10.26 11 F9FF 3840 154K Gi2/8 10.60.83.198 --- ... (1 Reply)
Discussion started by: streetfighter2
1 Replies

8. Shell Programming and Scripting

Column wise file parsing.

Shell script for the below operation : File "A" contains : SEQ++1' MOA+9:000,00:ABC' RFF+AIK:000000007' FII+PH+0170++AA' NAD+PL+++XXXXXXXXXXX XXXXXXX XX++XXX XXXX XXXX X.X. XXXXXXXXX+++NL' SEQ++2' MOA+9:389,47:ABC' RFF+AIK:02110300000008' FII+PH+0PSTBNL2A:25:5+BB'... (5 Replies)
Discussion started by: navojit dutta
5 Replies

9. Shell Programming and Scripting

Parsing text from file

Any ideas? 1)loop through text file 2)extract everything between SOL and EOL 3)output files, for example: 123.txt and 124.txt for the file below So far I have: sed -n "/SOL/,/EOL/{p;/EOL/q;}" file Here is an example of my text file. SOL-123.go something goes here something goes... (0 Replies)
Discussion started by: ndnkyd
0 Replies

10. Shell Programming and Scripting

Text File Parsing

Hey Guys.I am a newbie on Bash Shell Scripting and Perl.And I have a question about file parsing. I have a log file which contains reports about a communication device.I need to take some of the reports from the log file.Its hard to explain the issue.but shortly I can say that, the reports has a... (2 Replies)
Discussion started by: Djlethal
2 Replies
Login or Register to Ask a Question