home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 September / Simtel20_Sept92.cdr / msdos / filutl / filscrub.arc / FILSCRUB.DOC next >
Text File  |  1987-02-18  |  9KB  |  463 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                             FILSCRUB
  13.  
  14.  
  15.  
  16.  
  17.  
  18.             A table driven search and replace utility
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                  Copyright 1987 by Gary Elfring
  26.  
  27.                       4N899 West Mary Drive
  28.                   St. Charles, Illinois  60174
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.                         TABLE OF CONTENTS
  74.  
  75.  
  76.  
  77. INTRODUCTION .................................................. 1
  78.  
  79.  
  80.  
  81. SHAREWARE NOTICE .............................................. 2
  82.  
  83.  
  84.  
  85. OPERATION ..................................................... 3
  86.  
  87.  
  88.  
  89. TABLE FILES ................................................... 3
  90.  
  91.  
  92.  
  93. FUTURE IMPROVEMENTS ........................................... 5
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.        FILSCRUB table driven search and replace utility
  137.  
  138.  
  139.                           INTRODUCTION
  140.  
  141. FILSCRUB  is a table driven search and replace utility.  You make 
  142. up  a  table  of text or characters to search  for  and  what  to 
  143. replace  those characters with.   FILSCRUB will look through your 
  144. input file for every occurrence of the first search entry.   Each 
  145. time  it  is  found it will be replaced with  the  first  replace 
  146. entry.   When  the end of the input file is found  FILSCRUB  will 
  147. move on to the next search entry (if any) in your table.
  148.  
  149. FILSCRUB  will work on ASCII or binary files.   It uses the exact 
  150. file length and does not pay any attention to the control-Z (EOF) 
  151. marker.   Search and replace strings can be any length up to  127 
  152. characters,  and  may  be described in ASCII,  decimal,  or  hex.  
  153. FILSCRUB  does  not affect your original input file in  any  way. 
  154. There  is no limit on the length of the input file or the  number 
  155. of search and replace operations to perform.
  156.  
  157. FILSCRUB can be used for many purposes.   It can easily find  all 
  158. special  control  characters  in a text file and change  them  to 
  159. something else.   Having problems with one word processor's  out-
  160. put?  Clean it up with FILSCRUB.
  161.  
  162. FILSCRUB  can also be used to translate information from one form 
  163. to  another.   FILSCRUB works sequentially through  a  file.   It 
  164. performs  one  search and replace operation at  a  time,  working 
  165. sequentially through your table.  This gives FILSCRUB the ability 
  166. to literally translate one form of text to another.
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                 1
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.        FILSCRUB table driven search and replace utility
  203.  
  204.  
  205.                             SHAREWARE
  206.  
  207. This program is provided on a "shareware" basis!  Try the program 
  208. out. If you don't like it- erase it. If you do like it I hope you 
  209. will  send  in  your contribution.  I am requesting  a  shareware 
  210. contribution of $25.00.   In addition,  I would appreciate it  if 
  211. you would send comments or bugs to my attention at:
  212.  
  213.  
  214. Gary Elfring
  215. 4N899 West Mary Drive
  216. St. Charles, Illinois, 60174
  217.  
  218.  
  219. PLEASE mention the product name, (FILSCRUB), and where you got it 
  220. from.  You  will then receive:  telephone support,  and one  free 
  221. update  with improved documentation.  Only registered users  will 
  222. receive notices of improvements and the one free update!
  223.  
  224. Note  that  the next version of FILSCRUB will have a  new  option 
  225. that allows matches on ASCII text regardless of text case.  
  226.  
  227.  
  228.                             WARRANTY 
  229.  
  230. NONE!!  No warranty is provided to anyone who has not contributed 
  231. for  this program.  Gary Elfring specifically disclaims all other 
  232. warranties,  expressed or implied,  including but not limited to, 
  233. implied warranties of merchantability and fitness for a  particu-
  234. lar purpose with respect to defects in the disk or documentation, 
  235. and  the program license granted herein.  In no event shall  Gary 
  236. Elfring  be liable for any loss of profit or any other commercial 
  237. damage,  including but not limited to special, incidental, conse-
  238. quential, or other damages.
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                 2
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.        FILSCRUB table driven search and replace utility
  269.  
  270.  
  271.                             OPERATION
  272.  
  273. To run FILSCRUB you need a text file to "scrub", a table of items 
  274. to search for along with the text to replace those items,  and an 
  275. output file name.  To run type:
  276.  
  277.  
  278. filscrub table input output
  279.  
  280.  
  281. Where: "table" is the name of a disk file containing at least one 
  282. search and one replace string,  "input" is the name of your orig-
  283. inal  text file,  and "output" is the name of the disk  file  the 
  284. results will be saved in.   All disk file names may include drive 
  285. specifiers and path names.
  286.  
  287. No  assumptions are made about the input or output  files.   They 
  288. may be ASCII or binary.   The "table" file MUST be an ASCII file.  
  289. See the section below on table files for more details.
  290.  
  291. Once  invoked,  FILSCRUB will print a copyright notice and a ver-
  292. sion number.   The program will then begin working.   The program 
  293. will read your text file once and thereafter work with  temporary 
  294. copies of it until the final "scrubbed" version is complete.
  295.  
  296. While  FILSCRUB is running it will be working with four different 
  297. files.   Three  of these are your "table",  "input",  and  output 
  298. files.   A fourth file,  "scrub.wrk", will be created by FILSCRUB 
  299. for  intermediate work.   This file will be erased when  FILSCRUB 
  300. completes  it operation.   Note that FILSCRUB requires  TWICE  as 
  301. much free disk space as your input file consumes.  This is due to 
  302. the  output and work files.   Also note that if you search for  a 
  303. large  number  of small strings and then replace them  with  much 
  304. longer strings, more disk space will be required!
  305.  
  306.  
  307.                            TABLE FILES
  308.  
  309. The  table driven approach of FILSCRUB makes it a powerful  tool.  
  310. However,  all table files MUST be written in ASCII!  If your text 
  311. editor  can  not produce an ASCII file you must use  another  one 
  312. that does.  (Much as I hate it you can use EDLINE that comes with 
  313. MS-DOS.)
  314.  
  315. How  do you know if your text editor produces ASCII  files?   Try 
  316. using the MS-DOS TYPE command.  If you can type out your files on 
  317. the  screen,  with  no strange characters,  your editor is  using 
  318. straight ASCII.
  319.  
  320. Each table file consists of matching pairs of search and  replace 
  321. strings.  The text to search for (or replace with) can be written 
  322. in ASCII, decimal, or hex.  All search and replace lines follow a 
  323. standard format.   A line in your table file always begins with a 
  324. letter  specifying whether the text to follow is ASCII,  decimal, 
  325.  
  326.  
  327.                                 3
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.        FILSCRUB table driven search and replace utility
  335.  
  336.  
  337. or hex.   A second letter must follow specifying whether this  is 
  338. the  search  or replace string.   Finally,  a space or  tab  must 
  339. separate you text from the initial two characters.
  340.  
  341. Some  examples will probably help at this point.   To search  for 
  342. the word 'hello' and replace it with 'xxxxxxxx' you would enter:
  343.  
  344. as hello
  345. ar xxxxxxxx
  346.  
  347. The "as" stands for ASCII search.   The second line is the match-
  348. ing  replace  string (ar = ASCII replace).   Suppose you need  to 
  349. search for two words?  Try:
  350.  
  351. as "good bye"
  352. ar good-bye
  353.  
  354. FILSCRUB  will automatically detect beginning and  ending  quotes 
  355. and use all text in between as the search string.
  356.  
  357. There  are  a lot of different characters that can not be  easily 
  358. described  in ASCII.   So FILSCRUB allows entry in either hex  or 
  359. decimal.   To  look for a control-A and change it into  the  word 
  360. Control-A try:
  361.  
  362. hs 01
  363. ar Control-A
  364.  
  365. If  you like decimal it works the same way.   To search for  AAAA 
  366. and replace it with "4As" enter:
  367.  
  368. ds 65 65 65 65
  369. ar 4As
  370.  
  371. The only limit on decimal, hex, and ASCII entries is that no line 
  372. in the table can be longer than 127 characters.
  373.  
  374. For more complicated work you can use multiple table entries.  To 
  375. change  all references from "hello" to "HELLO" and all references 
  376. from "HELLO" to "hello", (reverse the order of these words), try:
  377.  
  378. as hello
  379. ar xxxxx
  380. as HELLO
  381. ar hello
  382. as xxxxx
  383. ar HELLO
  384.  
  385. When running with this table,  FILSCRUB changes all references to 
  386. "hello"  to "xxxxx" first.   Then all references to  "HELLO"  are 
  387. changed  to lower case.   Finally,  the original lower case hello 
  388. (now saved as "xxxxx") is changed into upper case.
  389.  
  390.  
  391.  
  392.  
  393.                                 4
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.        FILSCRUB table driven search and replace utility
  401.  
  402.  
  403.                        FUTURE IMPROVEMENTS
  404.  
  405. The  next  release of FILSCRUB will offer control  of  case  when 
  406. searching  for an ASCII string.   (Assuming enough people support 
  407. this  product as shareware.)  This will allow you  to  optionally 
  408. match "HELLO" with "hello".  The table for for this will be:
  409.  
  410. asc hello
  411. ar xxxxxxxx
  412.  
  413. In  this case all occurrences of the word "hello",  regardless of 
  414. text case, will be replaced with "xxxxxxxx".
  415.  
  416. Other  improvements may be made depending upon your  suggestions.  
  417. Please send me your comments.
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                 5
  460.  
  461.  
  462.  
  463.