atw: Re: Multiple text string find and replace in multiple documents

  • From: "Stuart Burnfield" <slb@xxxxxxxxxxxxxx>
  • To: austechwriter@xxxxxxxxxxxxx
  • Date: Fri, 17 Aug 2018 15:49:35 +0800

No problem at all, glad you ended up with a working solution. There is
some industrial-strength finding and replacing in my near future so
I'll definitely experiment with Replace Text.

FAR looks good too, Rhonda. Pretty much a GUI front-end for specifying
regular expressions and file patterns. 
Based on a 2-minute skim of the help it doesn't appear to support
multiple find strings but it does have a batch option, which is as
good as.

--- Stuart

----- Original Message -----
From: austechwriter@xxxxxxxxxxxxx
To:
Sent:Fri, 17 Aug 2018 12:04:54 +0800
Subject:atw: Re: Multiple text string find and replace in multiple
documents

 I'm so sorry Rhonda, Peter and Stuart for wasting your valuable time.
My sincere and humble apologies.
I cannot believe what a complete idiot I am. Before asking for help I
should have, of course, tried to download Replace Text on my home
computer to test whether the SOE was causing a problem. I kind of knew
the program didn't install properly but I just ignored that obvious
flag. Stuart's email prompted me to try on my home computer (I happen
to be working from home today) and it worked instantly like a dream no
problem. I did the compatibility test thing at work and it didn't make
a difference which is hardly surprising as the program was not
installed properly. It does surprise me that it kind of looked
installed even though it wasn't.
So if I can transform my idiocy, to some degree at least, into a tip:
Replace Text is a fantastic
tool! http://www.ecobyte.com/replacetext/. It works both for multiple
strings and multiple files. (I tested it on my home computer with data
containing "You idiot")
I will keep in mind your recommendations of other programs and regular
expressions for other purposes.
Thank you and again, my humble apologies,Petra

----- Original Message -----
From: austechwriter@freelists.orgTo:"austechwriter@xxxxxxxxxxxxx" 
Sent:Fri, 17 Aug 2018 11:41:33 +0800
Subject:atw: Re: Multiple text string find and replace in multiple
documents

        If you’re trying to do a F&R on HTML files, have you considered
FAR? Australian made (Rob Chandler) too. Although it’s many years
since I needed to use it, it was fantastic at doing F&R across
hundreds of files at once. Details:
http://www.helpwaregroup.com/products/far [1]

        Rhonda

        Rhonda.bracey@xxxxxxxxxxxxxxxx [2]
Website: http://cybertext.com.au [3]
Blog: http://cybertext.wordpress.com [4]

         

        FROM: austechwriter-bounce@xxxxxxxxxxxxx
[mailto:austechwriter-bounce@xxxxxxxxxxxxx] ON BEHALF OF Stuart
Burnfield
SENT: Friday, 17 August 2018 9:49 AM
TO: austechwriter@xxxxxxxxxxxxx
SUBJECT: atw: Re: Multiple text string find and replace in multiple
documents

         

        Hi Petra -

        _I found a seemingly fantastic tool, Replace Text
(http://www.ecobyte.com/replacetext/), which would seem to perform
both functions easily but it is no longer supported and I notice it
mentions that there is a problem with Windows 7 so I'm assuming the
fact that I can't make it work in Windows 10 is to do with lack of
upgrade. Such a shame because it seems so powerful..._

         

        A comment in , referring to the Windows 7 problem, says:

        "Tested and it worked for me in Windows 10." That sounds promising,
depending on how much testing the person did.

         

        If Replace Text is still your preferred option and you haven't
already been down this path:

        * Does PROPERTIES > COMPATIBILITY : RUN COMPATIBILITY TROUBLESHOOTER
say anything useful?

                * Does either of these help: 

        * 

        * PROPERTIES > COMPATIBILITY : RUN THIS PROGRAM IN COMPATIBILITY MODE
FOR: Windows XP SP3

        * PROPERTIES > COMPATIBILITY : RUN THIS PROGRAM IN COMPATIBILITY MODE
FOR: Windows Vista SP2

        * Does RUN AS ADMINISTRATOR help? (Not sure why it should but it has
fixed problems for me once or twice.)

        One last thought: are all of the 350 or so search strings really
unique, or are they mostly variations on a small number of searches?
Regular expressions are very powerful in being able to find and change
fixed text in strings that also contain variable text that you don't
want to alter. For example, if there are 20 unique occurrences of this
type of string:

        apples_variable_stuff_never_the_same_twice_chalk

        .. in one pass you can change every instance to:

        pears_exactly_whatever_was_here_before_cheese

        So potentially your 350 unique actions could be handled by a much
smaller set of find/replace operations.

        --- Stuart

----- Original Message -----

        FROM:

        austechwriter@xxxxxxxxxxxxx

        TO:

        SENT:

        Fri, 17 Aug 2018 08:07:28 +0800

        SUBJECT:

        atw: Re: Multiple text string find and replace in multiple documents

Thanks Rhonda, Peter and Stuart for your replies. I will look at the
suggestions over time though from a casual skimming none of them are
obviously for multiple strings. It seems multiple file search tools
are quite common but not multiple string searches unless you use
programming code - which I have no expertise with.

        I'm working with html files and I'm not quite sure whether it's worth
using a tool or simply doing the changes manually because the changes
are not necessarily straightforward. The possible number of strings
would be about 350 as are the number of files. But there are other
possible string changes too. I just thought it would be good to have a
tool on hand. But then there's the SOE environment to get around.
Apparently, they're not keen on giving admin rights so there are a
number of considerations to keep in mind.

        My sister came up with the Powershell script below that she found on
the internet and it seems to work - if anyone else ever needs to do
the multiple string/multiple file find and replace and is happy to use
Powershell.

        Regards,

        Petra

         

        I have managed to get a powershell script off the net which does it,
but running powershell scripts when you don't have admin rights can
have problems. 

        I can run it on my powershell but first I have to run the command:

        set-executionpolicy unrestricted

        and I can only run that command when I run powershell as
administrator.

        So you probably won't be allowed to run a powershell command as a
non-admin user It depends on how your PCs are set up.

        You can also download "sed" for windows. Sed is the tool I would
probably use in linux to do it. It is ideal for search, replace.

        This is the powershell script. You would save this text as a ps1
file. I am also attaching the ps1 file but sometimes mail doesn't
allow them through so I have it below as text.

        I am attaching the Input.csv file which is what you gave me but I
have created as a csv file with headings. The headings are needed for
the script to work.

        You would have to modify the script to give the location of the csv
file which has the find/replace strings and to change location of
where the text files are.

         

        ******  IMPORTANT: THis script modifies the files in place. It does
not create new files so  you would be best to do a backup first.

        Someone complained on the net that this script also puts in an extra
line feed at the end of the file.

        #----------------------------------------------------

        # Title: replaceStrings

         

        $fdPath = 'c:datatest'

        $textFiles = Get-ChildItem -Path $FDPATH*.txt | ForEach-Object
FullName

        $findReplaceList = Import-Csv -Path $FDPATHInput.csv

         

         

        $totalitems = $textFiles.count

        $currentrow = 0

        foreach ($textFile in $textFiles)

        {

            $currentrow += 1

            Write-Progress -Activity "Processing record $currentrow of
$totalitems" -Status "Progress:" -PercentComplete (($currentrow /
$totalitems) * 100)

            [string] $txttextFile = Get-Content $textFile | Out-String

            

            ForEach ($findReplaceItem in $findReplaceList)

            {

                $txttextFile = $txttextFile -replace
"$($findReplaceitem.FindString)", "$($findReplaceitem.ReplaceString)"

            }

            

            $txttextFile | Set-Content ($textFile)

        }

        
#---------------------------------------------------------------------------------

         

----- Original Message -----

        FROM:austechwriter@xxxxxxxxxxxxx

        TO:

        SENT:Thu, 16 Aug 2018 14:32:12 +0800

        SUBJECT:atw: Re: Multiple text string find and replace in multiple
documents

        Petra, are you working with text files or Word documents? 

        The tool you liked, Replace Text, looks like it's for text files and
explicitly not for Word docs EditTools looks like it's for Word docs,
not for text files.

        I was going to recommend WildEdit. Distant memory tells me it handles
multiple find strings, but  suggests not.

        Can you say any more about the sort of changes you need to do? Is
this a one-off conversion/tidy-up, or is it something you expect to do
repeatedly? About how many find strings and source files are there?
(E.g. 10 or 100 find strings? Hundreds of source files or thousands?)
Are you changing text (words and punctuation) or tagging (HTML or
XML)?

        --- Stuart

         

        ----- Original Message -----

EditTools does this – I haven’t used it, but I know it can do it.
http://www.wordsnsync.com/edittools.php [5], specifically
http://www.wordsnsync.com/multifile-find.php [6] ;

        Rhonda 

         

        FROM: austechwriter-bounce@xxxxxxxxxxxxx
[mailto:austechwriter-bounce@xxxxxxxxxxxxx] ON BEHALF OF Petra
Liverani
SENT: Thursday, 16 August 2018 12:44 PM
TO: austechwriter@xxxxxxxxxxxxx
SUBJECT: atw: Multiple text string find and replace in multiple
documents

         

        Hi all,

        Does anyone know of a tool where you can do multiple text string find
and replace in multiple documents, with priority on the multiple text
string rather than the multiple documents.

        I found a seemingly fantastic tool, Replace Text
(http://www.ecobyte.com/replacetext/), which would seem to perform
both functions easily but it is no longer supported and I notice it
mentions that there is a problem with Windows 7 so I'm assuming the
fact that I can't make it work in Windows 10 is to do with lack of
upgrade. Such a shame because it seems so powerful and I cannot
understand why there does not seem to be an equivalent either free or
paid.

        My sister is looking at what she can do in Powershell but I wondered
if anyone knew of a tool for non-programming types. I realise you
could do a macro in Word but I want to do it for quite a large number
of strings and I imagine Word wouldn't really like that very much. I
think a specific tool would work much better. There's textcrawler but
as far as I can tell that searches single strings in multiple files.

        Regards,
Petra

          

Links:
------
[1] http://www.helpwaregroup.com/products/far
[2] mailto:Rhonda.bracey@xxxxxxxxxxxxxxxx
[3] http://cybertext.com.au
[4] http://cybertext.wordpress.com
[5] http://www.wordsnsync.com/edittools.php
[6] http://www.wordsnsync.com/multifile-find.php

Other related posts: