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

  • From: Rhonda Bracey <rhonda.bracey@xxxxxxxxxxxxxxxx>
  • To: "austechwriter@xxxxxxxxxxxxx" <austechwriter@xxxxxxxxxxxxx>
  • Date: Fri, 17 Aug 2018 15:53:33 +0800

From memory, I used to use it with the batch option. Brilliant for F&R all 
sorts of HTML code back in the day when we needed to get rid of deprecated 
inline code (font tags, anyone?) and use CSS (yep, it was that long ago I 
started using it!).

Rhonda

Rhonda.bracey@xxxxxxxxxxxxxxxx<mailto:Rhonda.bracey@xxxxxxxxxxxxxxxx>
Website: http://cybertext.com.au
Blog: http://cybertext.wordpress.com

From: austechwriter-bounce@xxxxxxxxxxxxx 
[mailto:austechwriter-bounce@xxxxxxxxxxxxx] On Behalf Of Stuart Burnfield
Sent: Friday, 17 August 2018 3:50 PM
To: austechwriter@xxxxxxxxxxxxx
Subject: atw: Re: Multiple text string find and replace in multiple documents

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:
<austechwriter@xxxxxxxxxxxxx>
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@xxxxxxxxxxxxx
To:
"austechwriter@xxxxxxxxxxxxx" <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
Rhonda
Rhonda.bracey@xxxxxxxxxxxxxxxx<mailto:Rhonda.bracey@xxxxxxxxxxxxxxxx>
Website: http://cybertext.com.au
Blog: http://cybertext.wordpress.com


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 <https://www.techsupportalert.com/content/replace-text.htm-0>, 
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:
applesvariable_stuff_never_the_same_twicechalk
.. in one pass you can change every instance to:
pearsexactly_whatever_was_here_beforecheese
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:
<austechwriter@xxxxxxxxxxxxx>
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:\data\test'
$textFiles = Get-ChildItem -Path $FDPATH\*.txt | ForEach-Object FullName
$findReplaceList = Import-Csv -Path $FDPATH\Input.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:<austechwriter@xxxxxxxxxxxxx>
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 <https://wwwtextpad.com/products/wildedit/features.html
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, specifically ;
http://www.wordsnsync.com/multifile-find.php
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

Other related posts: