Automator replace text, 1st occurrence only
using automator to rename audio files from a record date.
Not so much rename as name exchange.
The original files were wrongly named.
So what once was Audi L is now RF 3.
But there is also Mid Audi L that is also being changed.
Is there a way to limit the search to very specific text?
This will only replace text in a filename that starts with what you are searching for:
The Run Shell Script Action is:
for f in "$1"/*
do
path=${f%/*}
basename=${f##*/}
nname=${basename/#$2/$3}
if [ "$f" != "$path/$nname" ]; then
mv "$f" "$path/$nname"
fi
done
In nname=${basename/#$2/$3}, the # is what determines that the search must start at the beginning of the filename
Similar Messages
-
Problem with GREP - finds only the 1st occurrence
Hi all,
In the example below, I am trying to find text between pairs of $ characters.
Theoretically this should work — \$\s.+?\s\$ — but in practice it finds only the 1st occurrence. I can’t figure out why.
Interestingly enough, in JS this expression works as expected.
I select the text and run the script:
Main();
function Main() {
var doc = app.activeDocument;
var sel = app.selection[0];
var contents = sel.contents;
var match = contents.match(/\$\s.+?\s\$/g);
And it returns all the four occurrences:
What am I doing wrong?
Thanks in advance.
KasHi Kasyan
In case your interested (probably not, but Jongware has a nice picture that's (maybe) worth seeing) here's a thread were Marc and I discussed how to find the first and last GREP occurrence in a paragraph / story and the use of the $ and ^ symbols.
http://forums.adobe.com/message/4668083#4668083
Regards
Trevor -
Replace Text script returns error when dropped in automator
Hi Friends,
I have a series of pdfs that were saved with spaces in their file names. I need to put them into folders for a website (there's a lot). Pretty newbie on this too but I figured I'd try.
I tried using the example script "Replace Text in Item names" which worked on it's own.
(hd:applications:applescript:example scripts:finder scripts)
When I applied it as an action in Automator, I would get an error about "expected end but found on."
I think that resulted from the default script. So I deleted that. Put the replace script in.
I cut out the dialog boxes and specified folders, search, and replacement items. And cut out the second half (after the beep)
However as I step through, when I get to the script it returns the error: No result was returned from some part of this expression.
So I'm not sure what I'm missing.It is hard to tell without seeing the mangled modified script. Your main problem is probably related to the run handler, which needs to be defined in Automator's Run AppleScript action. Every AppleScript has a run handler, but in the case of the Replace Text in Item Names it is implied (not explicitly defined). You will need to place the main statements of the script inside the Run AppleScript action on run handler, leaving the other handlers (for example, setitemname) outside of the run handler.
-
Applescript: open Pages doc from Templete, change filename and replace text
Hi!
I just got started with applescript and i want a script that does the following:
1. open "choose from list" dialog to choose the topic of my document
from 4 possibilities (here for example A, B, C, D)
2. open document from TemplateXY
3. set document name with date and topic (dd.mm.yyy) "16.02.2011 - A"
4.inside of document: replace text "date" with the currend date (dd.mm.yyy)
and the text "topic" with the topic chosen in (1.) "A"
this is what i already did:
here as colored screenshot:
http://i55.tinypic.com/2mnhxkm.jpg
set datum to do shell script "date \"+%d.%m.%Y\""
--choose topic:
set chosentopic to choose from list {"A", "B", "C", "D"}
--text "topic" becomes replaced throug variable topic
set searchstringT to "topic"
set replacestringT to chosentopic
--text "date" gets replaced by currend date (variable datum)
set searchstringD to "date"
set replacestringD to datum
--open pages, define filename & do search&replace of the strings defined above
tell application "Pages"
activate
set DocName to datum & " - " & chosentopic
set (every text where it is searchstringT) to replacestringT
set (every text where it is searchstringD) to replacestringD
end tell
the "choose from list" dialog works and the variables like topic, datum and the search&replace strings get defined as well
my problems are:
i only get an error that the text could not be replaced
i dont know how to get a new document from a template and how to get its filename changed
i really just started doin things with applescript for a day so i hope you can help me
regards
DaNylz
Message was edited by: DaNylzTry something like this:
set myFoundItems to change text text of all page items of pages 3 thru 5 of document 1
Shane Stanley <[email protected]>
AppleScript Pro Sessions <http://scriptingmatters.com/aspro> -
Replacing text in Text File in a perticuler line number
Hi,
I have a text file where values will be stored like
user=alex;checkout=no;checkin=yes;
user=rexy;checkout=yes;checkin=yes;
user=nik;checkout=no;checkin=no;
user=philip;checkout=yes;checkin=no;
user=nex;checkout=yes;checkin=no;
I know the line number of user nik(no=3) how can i replace that full line only with new values
or a particular part (checkout=yes).According to each event i have to change a specific part in text file for that user .
Thanks
[email protected]Read the first two lines and write them to a new file. Write the new values for line 3 to that new file. Read the rest of the lines and write them to that new file. Close all the files, delete the old file, rename the new file.
-
Folder action to find and replace text and change line feeds
I want to use a folder action to find and replace text and change Mac carriage returns to DOS line feeds inside text files.
The text to be replaced is: "/Users/wim/Music/iTunes/iTunes Music/Music" (without the quotes)
This text has to be removed (i.e. replaced by an empty string)
The text occurs many times within each file.
The files are playlists exported from iTunes in the M3U format (which are text files). They contain Mac carriage returns. These need to be changed to DOS line feeds.
I have found the following two perl commands to achieve this:
To find and replace text: perl -pi -w -e 's/THIS/THAT/g;' *.txt
To change carriage returns to line feeds: perl -i -pe 's/\015/\015\012/g' mac-file
I know that it's possible to make a folder action with Automator that executes a shell script.
What I want to do is drop the exported playlists in M3U format in a folder so that the folder action will remove the right text and change the carriage returns.
My questions are:
Is it possible to make a folder action that executes command line commands instead of shell scripts?
What is the correct syntax for the two commands when used in a folder action shell script? Especially, how do I escape the slashes (/) in the string to be removed?
Thanks for your helpOk, I've include an applescript to run a shell command. The applesript command quoted form makes a string that will end up as a single string on the bash command line. Depending on what you want to do, you may need multiple string on the bash command lines. I've included some information on folder actions.
It is easier to diagnose problems with debug information. I suggest adding log statements to your script to see what is going on. Here is an example.
Author: rccharles
For testing, run in the Script Editor.
1) Click on the Event Log tab to see the output from the log statement
2) Click on Run
For running shell commands see:
http://developer.apple.com/mac/library/technotes/tn2002/tn2065.html
on run
-- Write a message into the event log.
log " --- Starting on " & ((current date) as string) & " --- "
-- debug lines
set desktopPath to (path to desktop) as string
log "desktopPath = " & desktopPath
set unixDesktopPath to POSIX path of desktopPath
log "unixDesktopPath = " & unixDesktopPath
set quotedUnixDesktopPath to quoted form of unixDesktopPath
log "quoted form is " & quotedUnixDesktopPath
try
set fromUnix to do shell script "ls -l " & quotedUnixDesktopPath
display dialog "ls -l of " & quotedUnixDesktopPath & return & fromUnix
on error errMsg
log "ls -l error..." & errMsg
end try
end run
How to set up a folder action.
1) right click on folder. click on Enable folder actions
2) Place script in
/Library/Scripts/Folder Actions Scripts
3) right click on folder. click on attach folder action
pick your script.
Create a new folder on the desktop & try.
You can put multiple folder actions on a folder. There are other ways of doing this.
Here is my test script:
on adding folder items to this_folder after receiving dropped_items
repeat with dropped_item_ref in dropped_items
display dialog "dropped files is " & dropped_item_ref & " on folder " & this_folder
end repeat
end adding folder items to
How to make the text into an AppleScript program.
Start the AppleScript Editor
/Applications/AppleScript/Script Editor.app
In Snow Leopard it's at: /Applications/Utilities/AppleScript Editor
Copy the script text to the Applescript editor.
Note: The ¬ is typed as option+return. ption+return is the Applescript line continuation characters.
You may need to retype these characters.
Save the text to a file as an script and do not check any of the boxes below. -
Replace text in photoshop document & save
Hello,
I have to make apprieciation certificates for a committee. Is there a way to use Automator to replace text within a photoshop document (people's names) and then save each name in a different file?
Thanks!In theory, at least, this should be possible through an AppleScript which could be part of an Automator workflow, at least with Photoshop CS4 (I don't have earlier versions to check in their scriptability). The AppleScript suite for Photoshop CS4 has a text-object function that offers a lot of control over a given block of text, so it looks like it would be doable. You might want to take this up in the AppleScript forum or, probably better, in Adobe's own Photoshop forum.
Regards. -
Batch Rename: replace text option
Batch rename is great if one wants to add text, change extension, add a serial number, metadata etc. BUT! what about replacing text? I've gotta jump from Bridge to Finder and an Automator workflow action to replace text in file names or just trim part of a file name. This doesn't make for a good workflow.
Anybody else feel the frustration?Hello,
I was trying this link to check out your solution and I can seem to get the link to work.
http://photoshoptechniques.com/forum/showthread.php?t=28609
Do you still have a solution to this problem? I would appreciate any help you could give. Thanks. -
Wild cards in Replace text in File names
Hi all,
Is there a way to use wildcards in the Automator action to replace text in file names.
Thanks
RoNo - the *Rename Finder Items* action does not accept variables or wildcard characters. You can use a *Run Shell Script* action if you are familiar with that kind of thing, and I have an action that will replace a substring that is delimited by the specified text or numerical index, if that would work (it is available here).
-
Adding replacement text for acronyms using the SDK
All
I have an existing C++ plugin for Acrobat Pro that walks through documents page by page doing different things (e.g. changing annotations) on each page.
As part of an effort to make out PDF files "accessible" I have an issue.
One of things that I have been asked to do is to look at creating PDF "replacement text" for a list of acronyms as they occur in a document. I believe the optimal outcome would be to somehow make the acronyms as "marked-content" and created "replacement text" for the marked-content (The marked-content being an acronym).
I have been looking at the core API, PDFEdit, and PDSEdit. It looks like PDFEdit would be the set of tools that might be able to do this, but I don't think it will. It doesn't seem like there is a way to "mark content" using PDFEdit. If I was able to cerate the correct marked content, it looks like the there isn't a way to add "replacement text" for that marked content.
We are creating structured PDF files, so I looked at PDSEdit. It appears that it pretty easy to created alternate text for an element. However, the elements are usually entire paragraphs so I would have to create "alternate text" for the entire paragraph just to have replacement for an acronym in the paragraph.
Playing with the "content streams" is something new to me, so I am wondering if it looks like I have considered all of the options?
ThanksLeonard
Looking at PDSEdit, it appears that I have to create replacement text for entire element. Our elements are entire paragraphs for the most part. I was thinking that I couldn't just provide replacement text for a single word in the paragraph and I would have to provide replacement text for the entire paragraph since there is only 1 replacement text per element.
Maybe I didn't think about this enough (I shouldn't be allowed to talk out loud on Fridays). If I could split an existing element into 3 elements (before acronym, acronym, after acronym), I could avoid building replacement text for the entire paragraph. Or maybe I can created marked content with PDSEdit as a separate structure element? Not sure I can do that.
Do you think I can do what I want to do with PDSEdit?
I guess I am struggling a little to understand how the content streams relate to the items in the basic PDF structure (e.g. replacement text for marked content) and the document structure.
Sorry about rambling..
Thanks -
Can I batch replace text for several pdfs when translating 50+ identical documents? Only certain values/numbers differ in each document.
I am new to Acrobat, and I am currently just copying and pasting between my first translation of a document and the ones I have not translated yet.No, and you shouldn't attempt to translate a PDF file directly. This type
of task should be done on the original file format and then a new PDF file
should be created.
On Tue, Mar 3, 2015 at 3:33 PM, josteinb80906302 <[email protected]> -
I wish to use VBA and Excel to programmatically open numbered Dreamweaver HTML (CS5) and find and replace text in the code view of these files, save and close them.
I have 5000 associations between Find: x0001 and Replace: y0001 in an Excel sheet.
I have the VBA written but do not know how to open, close and save the code view of the ####.html files. Please ... and thank you...
[email protected]This is actually the code view of file ####.html that I wish to find and replace programmatically where #### is a four digit number cataloguing each painting.... In 1995 I thought this was clever... maybe not so clever now :>)) Thank you for whatever you can do Rob!
!####.jpg!
h2. "Name####"
Oils on acrylic foundation commercial canvas - . xx X xx (inches) Started
Back of the Painting In Progress </p> </body> </html>
Warmest regards,
Phil the Forecaster, http://philtheforecaster.blogspot.ca/ and http://phils-market.blogspot.ca/ -
Trouble with "add note to replace text" annotation
When I use "Add note to replace text" in Reader XI, the note acts as if it is locked even though it is not. The Locked box is not checked, but yet the options are grayed out; and I cannot delete the note, though I can edit the text box. "Strikethrough" and "Insert text at cursor" work fine.
I am using the latest update of XI and have uninstalled and reinstalled it several times; I've also tried various older versions of XI. It happens with documents I've created or documents others have created; it happens on docs created from Word or those created from InDesign; it happens on docs downloaded several years ago as well as ones from the past month.
I CAN delete these add-and-replace notes if I receive a file with them already put there by someone else--I just can't delete my own that I am adding right now. When I send the pdf to other people they have the same problem--in fact, someone told me that in her case ALL of my notes appear locked, not just the Add note to replace text one--yet when I send it to her, on my side, I have not locked any of them.
Also, I do seem to be able to delete my own annotations I put on documents fairly recently--I have files from Sept 9 and Sept 17 that I can do this. But if I try to add notes to those same docs now, they act just like all the other ones--I cannot delete those particular notes and they appear locked.
Help please!!You could write an html-text file that revers to the image file
after that you could even convert this html-file to an rtfd file (which is a package after all) using textutil -
Find and Replace text string in HTML
Opps... I hope this forum is not just for Outlook. My Html files reside on my hard-drive. I am looking for VBA code to open specified file names ####File.html and then find and replace text strings within the html for example "####Name" replaced
with "YYYYY"
I drive the "####File.html" names and the find and replace text strings from an Excel sheet. I am an artist and this Sub would give me time to paint instead of find and replace text. Thank you!
[email protected]Hello Phil,
The current forum is for developers and Outlook related programming questions. That's why I'd suggest hiring anybody for developing the code for you. You may find freelancers, for example. Try googling for any freelance-related web sites and asking such
questions there.
If you decide to develop an Outlook macro on your own, the
Getting Started with VBA in Outlook 2010 article is a good place to start from. -
Find and replace text in multiple Photoshop files?
Hi there,
Let us say I have six Photoshop files: 1.psd, 2.psd, ..., 6.psd. All of these files contain the word “LoremIpsum” in random text layers, within each document. Is there a way I can search for “LoremIpsum” in all documents and replace it with “Dolor Sit Amet”, all in one go? This is just an example, I need to replace various words, not just one.
I have tried "batch find and replace" software (including powerful tools like Power Grep) but they do not work with psd files… Is there a javascript of external plugin for this kind of task?
Thanks!You’re welcome, advice given here is free.
If you want to donate something nonetheless you could do so over at
http://ps-scripts.com/bb/
Many of the same people used to contribute there as here and I for one have benefitted considerably from their generous advice on Scripting issues.
A Script can read (or create) txt files, but I do not have a lot of experience with this.
This might work (amend the line »var theTexts = readPref ("….txt", false);« according to your txt-file’s path):
// replace text elements in type layers;
// 2013, use it at your own risk;
#target photoshop
if (app.documents.length > 0) {
for (var n = 0; n < app.documents.length; n++) {
app.activeDocument = app.documents[n];
app.activeDocument.suspendHistory("replace text", "main()")
// the opertation;
function main () {
var myDocument = app.activeDocument;
var theTexts = readPref ("….txt", false);
var theArray1 = theTexts.slice(0, Math.round(theTexts.length/2));
var theArray2 = theTexts.slice(Math.round(theTexts.length/2), theTexts.length);
alert (theArray1.join("\n")+"\n\n\n"+theArray2.join("\n"))
for (var b = 0; b < theArray1.length; b++) {
replaceText (theArray1[b], theArray2[b])
////// reoplace text //////
function replaceText (replaceThis, replaceWith) {
// =======================================================
var idreplace = stringIDToTypeID( "replace" );
var desc22 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref3 = new ActionReference();
var idPrpr = charIDToTypeID( "Prpr" );
var idreplace = stringIDToTypeID( "replace" );
ref3.putProperty( idPrpr, idreplace );
var idTxLr = charIDToTypeID( "TxLr" );
var idOrdn = charIDToTypeID( "Ordn" );
var idAl = charIDToTypeID( "Al " );
ref3.putEnumerated( idTxLr, idOrdn, idAl );
desc22.putReference( idnull, ref3 );
var idUsng = charIDToTypeID( "Usng" );
var desc23 = new ActionDescriptor();
var idfind = stringIDToTypeID( "find" );
desc23.putString( idfind, replaceThis );
var idreplace = stringIDToTypeID( "replace" );
desc23.putString( idreplace, replaceWith );
var idcheckAll = stringIDToTypeID( "checkAll" );
desc23.putBoolean( idcheckAll, true );
var idFwd = charIDToTypeID( "Fwd " );
desc23.putBoolean( idFwd, true );
var idcaseSensitive = stringIDToTypeID( "caseSensitive" );
desc23.putBoolean( idcaseSensitive, false );
var idwholeWord = stringIDToTypeID( "wholeWord" );
desc23.putBoolean( idwholeWord, false );
var idignoreAccents = stringIDToTypeID( "ignoreAccents" );
desc23.putBoolean( idignoreAccents, true );
var idfindReplace = stringIDToTypeID( "findReplace" );
desc22.putObject( idUsng, idfindReplace, desc23 );
executeAction( idreplace, desc22, DialogModes.NO );
////// read prefs file //////
function readPref (thePath, binary) {
if (File(thePath).exists == true) {
var file = File(thePath);
file.open("r");
if (binary == true) {file.encoding= 'BINARY'};
var theText = file.read();
file.close();
return String(theText).split(",")
In this case the comma is used to split the text into Strings in Arrays, if your search/replace texts include commas you could use something else, I guess.
Maybe you are looking for
-
How do you HYPERLINK a web page address to an EXCEL document in Firefox like is possible in Explorer
How do you HYPERLINK a web page address to an EXCEL document in Firefox like is possible in Explorer?
-
Hard Drive Crash - Trying to restore info
Hello all, About a year ago, my Powerbook G4 suffered a hard drive failure, and every bit of information was lost in no-man's land because I did not have anything backed up (trust me, I've learned my lesson). I was referred to DriveSavers, and after
-
Payment api issue on MIDlet Application
Hi All, I am having an existing MIDlet application in which I want to implement payment api. I have followed all the guidlines provided by BB team. I have even done a sample application for payment api using UiApplication which is working fine, now w
-
Put html tag in xml genreted with strings panel
Hello, I created an multilanguage application with the "strings "panel. My customer need to put some words in italic inside the dynamic textfield. So I used <i> tag or cdata tag insied the xml, but nothing works, even if I put the textfield in "html"
-
Hello All, Is it possible to use conditons in a query to be used in the APD process? We are on BW version 3.1 and are trying to use the APD process but it seems as if the conditions are not used when we do our extraction using the APD process. Many T