View Single Post
  #5  
Old 04-30-2008, 02:09 PM
naraht naraht is offline
GreekChat Member
 
Join Date: Apr 2001
Location: Rockville,MD,USA
Posts: 3,546
Quote:
Originally Posted by GMUAPhiOAdvisor View Post
Is that possible? I showed that to my husband, who I call my "turbo-geek" and even HE said it was way up there on the Geek-o-Meter!!

You DO know I'm just playing, right???
In LFS,
Elyssa
Sure, I haven't imported it into a mysql database yet. I just wish I had access to the database that they actually use rather than grabbing what I can from what the website shows.

And besides, this isn't even as complicated as some of the shell scripts that I actually get paid to write. An example: (This is one of the uglier ones)

#!/bin/bash
AAA=`echo $TERM`
if [ $AAA == 'xterm' ]; then
COLOR_START='^[[0;1;34m'
COLOR_FINISH='^[[0m'
fi
(cat /home/DIR1/DIR2/html/tutorials/vulnerability/*.html | perl -p -0777 -e 's#<pre>.+?</pre># #sg'|perl -p -e 's#<tt>.+?</tt># #g'| perl -p -e 's/<.+?>/ /g' | perl -p -e 's/[A-Za-z]*\.[A-Za-z]*/ /g'|tr -c "[:alnum:]" "\n"| sort | grep -v "[0-9]"| grep -v "^[A-Z]*$" | uniq -s 1| tee /tmp/ccc |uniq -c -i | grep -v "^ 1" | cut -f 2 | tr 'A-Z' 'a-z'| comm -23 - /usr/local/bin/check_capsconsistencyexceptions |xargs -i grep -i "^{}$" /tmp/ccc | xargs -i echo "${COLOR_START}check_capsconsistency:${COLOR_FINIS H} Capitalization difference: {}");rm /tmp/ccc

check_capsconsistency is a sanity check for capitalization in our tutorials, making sure that we don't have cases where we use 'KeyView' and 'Keyview' by mistake so that we can correct one.


The initial test (from the beginning to the 'fi') is to make sure that the name of the sanity check shows up in color (purple, I think) when we run it from a terminal and doesn't when we run it automated overnight.

The main statement outputs all of our tutorials into the check, then takes anything in pre tags and deletes them and the tags they came in, deletes all tags, erases any words that have a dot in the middle, transforms anything that's left with a non alpha-numeric to a carriage return, sorts it, gets rid of anything with a number in it, gets rid of anything entirely made of capital letters, takes only unique values ignoring the first letter, drops a copy of the file in /tmp/ccc and keeps going, does another run of unique, ignoring case and counting how many of each it has, getting rid of anything where there is only one, cutting off the second field (the first is the count), makes all uppercase letters lower case, gets the lines in the stream that aren't in check_capsconsistencyexceptions, looks for each of those lines ignoring case in /tmp/ccc to get the non-lowercased versions in the stream at that point, and then outputs the results of that back to the screen for the user.

When I ran it just now I got back
check_capsconsistency: Capitalization difference: Keyview
check_capsconsistency: Capitalization difference: KeyView

Oh, you're playing? Never mind.
__________________
Because "undergrads, please abandon your national policies and make something up" will end well --KnightShadow
Reply With Quote