If you have a linux machine and haven’t ever made use of sed (stream editor) you’re missing out on a great automation utility. I’ve saved myself probably 20 hours of manual editing with about an hour of work TWICE today. Here’s how…. over on the North Carolina Genealogy site I was opening forums for each county in the state of North Carolina (100 counties.) Now, I could have gone through and typed out a description, slug (address) and name for each one, but that looked too tedious. So…
I copied and pasted the list of counties to a text file (there was a carriage return after each) so I had one per line. Then I made a second file which I used tr to convert from upper case to lower case (since I wanted lower case “slugs”) I then went through and used sed to convert a space to an underscore. Now, I could have done this by hand because the only county with a space in the name is New Hanover, but…. it was easy as the following…
cat county_lowercase.txt | sed 's/ /_/' > county_lowercase_nospace.txt
So, the next step was crafting the slugs…
cat county_lowercase_nospace.txt | sed 's/$/-county-nc-genealogy-queries/' > slugs.txt
I checked the forum list table for my forum software through phpmyadmin and it was a pretty simple structure, about 8 fields…. a unique id which I set to NULL in my database, forum name, description, slug, forum order, number of posts, number of topics…. I set the last two to 0 throughout (100 lines), the forum order I started a bit past the current forum order numbers that were listed in the current database and I copied and pasted from the textfile the slugs.
So, next I crafted the forum titles….
cat county_list.txt | sed 's/$/ County, NC Genealogy Query Forum/' > forum_titles.txt
And of course, those get copied and pasted into the correct column. By the way, the $ above tells sed to put the text at the end of each line so that the county name comes first.
Then the descriptions, again I cut and paste and things look good. From the spreadsheet now I export to csv and import via phpmyadmin and check, lo and behold I now have 100 forums correctly added.
The other big thing though was a script I use to retrieve rss feeds. Each page was to have one uniquely named that would be included via a php include call in the page.
So… again sed to the rescue.
for name in `cat county_lower_nospace.txt`;
cat template_gen.php | sed "s/template_search/$name+county%22+nc/" > "$name"_gen.php
VERY easy and it worked like a charm…. 100 php scripts created, one for each county in …. 5 seconds? Nice.
Finally to top things off, I used sed to make the links to insert in to the pages… again all 100. So, it turned into a simple copy paste for each one.
Thanks sed.. I don’t know how else I could have done this that didn’t involve hours of menial/tedious editing.
For more information on some of the neat textfile tricks you can do with sed… take a look at this sed guide.
Related PostsRelated Posts
- BBPress 0.9x | Wordpress compatible forum software As you know I've used wordpress as a platform for many of my sites. It makes updating and adding information so quick and easy (as well as great extensions available for it and good theme possibilities.) Anyway, I've wanted forum functionality on a few sites as well and so I......
- The 2nd journey begins... Mandriva 2006 upgrade 2 - Part 1 I'm writing this from the laptop. Having run Mandriva 2006 without any real significant bumps for a couple weeks I've come to a point where I'm ready to take the plunge on the desktop. The desktop is my primary workstation. The laptop get's occasional light use and is the one......
- VMWare server 1.0 final release I've been keeping an install of Vmware virtual Server through their beta and Release Candidate phase and have seen several places that they've released the 1.0 version today. This release is free (as in no charge.) Although support is available.... Support for VMware server runs $350 USD for a one-year......
- Databazaar.com Gold-Printer Accessories Buy $75 in Original HP ink cartridges and receive a $15 Shell Gift Card!!! AND Buy two Original HP LaserJet print cartridges and receive a $30 Darden gift card of your choice!!! Timeframe • April 1 – June 30, 2011 at databazaar.com. Ranked in 2006 by Internet Retailer as the......
- San Mateo County Hike of Redwood Trail Summary: This is a 0.6 mile long out-and-back hike that follows an all-access trail through huckleberry and redwoods with very minimal change in elevation. Location: This trail is located in the Midpeninsula Regional district in San Mateo County in the Open Space Preserve at Purisima Creek. Distance: The total......
- 3 Ways to Determine Gold Coin Prices There are many different kinds of coins you can collect. You can collect the standard coins which are distributed throughout society. You can also collect all of the commemorative coins which are designated to pay respects to the different states, Apollo 11, Presidents and more. One of the oldest and......
- bbpress mod_rewrite Woes
- Quick way to make a text only banner image
- Using the command line in linux – part 4
- Converting pdf to tif (tiff) images
- The D-Link DWL-800AP+ as a wireless repeater to extend wireless range – Part 6