Script to Find Lookups to Files
Brian K. White
brian at aljex.com
Mon Mar 28 18:16:12 PST 2005
----- Original Message -----
From: "Mike Rathburn" <mike at datadoit.com>
To: "'Filepro-List'" <filepro-list at seaslug.org>
Sent: Monday, March 28, 2005 4:44 PM
Subject: Script to Find Lookups to Files
> Since I've gotta task of renaming filePro files to get rid of dots in the
> names, I recall there once was a script that someone provided here that
> would show you all of the lookups that a particular file made, or had made
> to it (?).
>
> This kinda script would make my task sooooooo much easier to do. Was it
> Stockler's Utilities thingamabob?
I and probably others have probably posted little one or two-liner shell
commands to do it. There is more than one way.
Here is a quick-n-dirty, but it'll just fail if the total number of files is
too large.
It looks for all lines with lookup and . in the then section.
cd /u/appl/filepro
egrep -n '.*:.*:lookup .*\..*' */prc.* |less -S
This handles unlimited number of files:
cd /u/appl/filepro
find ./ -name 'prc.*' |xargs egrep -n '.*:.*:lookup .*\..*' |less -S
or |pg if you don't have less, but this less syntax will not wrap the long
lines, making it a little easier to read
Here is an awk-based way that does the same as above.
cd /u/appl/filepro
find ./ -name 'prc.*' |xargs -n1 awk -F: '{if($3 ~ "lookup" && $3 ~ ".")
print ARGV[1]": "NR": "$3}' |less -S
the output is:
filename: line number:"then" section of the line
The advantage here is that you can add code to the awk script to get more
and more accurate filtering and even perform actions on a per line and per
file basis.
For example you could add some more if() statements to recognize and ignore
comments, recognize and ignore browse formats, recognize lookups where the
target is a variable and include them rather than ignore them so you can go
look at the processing and figure out if those variables would contain a dot
at run-time yourself.
It could even write out an edited copy of the process table where the
lookups have all been changed from dots to underscores and even run system()
with B. Stocklers cabe script to compile the new tok.
It can get more and more fancy depending on if it's worth the bother, which
depends on just how many files you have and just how many substitutions you
have to do.
The more files and the more broken lookups, the more it's worth getting a
sophisticated script to do more of the work automatically.
Think of awk script like rreport processing. It has equivalents for @once,
@done, a system() command, and the main body runs once for each record,
etc...
Brian K. White -- brian at aljex.com -- http://www.aljex.com/bkw/
+++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+<---]>++.
filePro BBx Linux SCO Prosper/FACTS AutoCAD #callahans Satriani
More information about the Filepro-list
mailing list