Solved

Need USE's found and added in following text

Posted on 2013-11-24
9
235 Views
Last Modified: 2013-12-04
In the attached file, each section needs a USE statement that is picked up from the previous section. It will change through the different sections.

Original on Left, Desired on Right

Before and Aftersqlrecipes-original.txt
0
Comment
Question by:Alex972
  • 5
  • 4
9 Comments
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39673714
s/(\/\*Sec.*?\/)/$1\nUSE AdventureWorks2008R2;\n/g;

Not tested with PERL (I do not have it here) but it works using replace with regex in Notepad++.

It will use AdventureWorks2008R2 for all sections. If that was not the intending result, try
s/(\/\*Sec-01.*?\/)/$1\nUSE AdventureWorks2008R2;\n/g; and it will only work for section 1.

HTH,
Dan
0
 
LVL 1

Author Comment

by:Alex972
ID: 39674359
Thanks

Adventureworks2008r2 is just one of them.
Most of the sections are Adventureworks2012, but there are several others.
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39674391
OK, I don't see in your example file where the "USE" statement is picked up from, so I guess you have somewhere a list and will modify the regex either programatically inside a loop or by hand (30 sections is not that much - probably faster by hand than writing the code)
0
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 
LVL 1

Author Comment

by:Alex972
ID: 39674990
There actually 380 sections.  
Whenever you see the word 'use' a new database is being used. It can change several times within a section.
There are 30 chapters. The first number is the chapter, the second number is the exercise within the chapter.
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39676682
Not very familiar with PERL, so here how to do it in Powershell:

$originalName="\path\to\original\file"
$copyName="\path\to\copy\file"

$use = ""
echo "" > $copyName #empty copy file
foreach ($line in get-content $originalName) {
  echo $line >> $copyName
  if ($regex = $line -match "\/\*Sec.*?\/") {echo `n`n$use`n >> $copyName}
  elseif ($regex = $line -match "^USE.*?;") {$use = $line}
}


It will do a line by line search of $originalName and copy the result to $copyName
- update $use for every line with "USE" at the beginning
- append $use to every line that has a section in it
- send every other line unchanged

HTH,
Dan
0
 
LVL 1

Accepted Solution

by:
Alex972 earned 0 total points
ID: 39685951
I didn't receive a response for a perl solution.
I imported the code into Excel after adding line numbers and used a formula that looked at the lines. I sorted the lines so that only lines with USE or Section headers were grouped together.
If the line had USE, then it picked up the new one.
If the line did NOT have USE, then it used the one from the previous line.

Formula to Repeat USE Statements
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39686090
OK, so you chose to ignore a working solution (tested on your sample text) and created your own.

Whatever works for you, I guess.
0
 
LVL 1

Author Comment

by:Alex972
ID: 39686159
"OK, so you chose to ignore a working solution (tested on your sample text) and created your own.

Whatever works for you, I guess. "

I was not able to use the solution in powershell at this time..
0
 
LVL 1

Author Closing Comment

by:Alex972
ID: 39695010
In the instructions to delete my question, it didn't mention how to handle the points.
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Perl strange behaviour 5 71
stftime format 4 55
Help with a Script that will rename a file when it's not longer being written to 5 71
Using Perl DBI to query oracle 3 42
There are many situations when we need to display the data in sorted order. For example: Student details by name or by rank or by total marks etc. If you are working on data driven based projects then you will use sorting techniques very frequently.…
In the distant past (last year) I hacked together a little toy that would allow a couple of Manager types to query, preview, and extract data from a number of MongoDB instances, to their tool of choice: Excel (http://dilbert.com/strips/comic/2007-08…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question