Finding and replacing text in multiple files

The Find and Replace in Files option ( FindFind/Replace in Files... or the toolbar button Find/Replace in Files ) enables you to define "search for" or "search for and replace" operations across a number of files. The find works at line level, which means a find match cannot cover characters on more than one line. The replace operation can bind Perl 5 regular expression group variables ($1, $2, etc.) from the find match. For example to replace the tag with attributes called tag-name with the tag tag-name1 use as text to find <tag-name(\s+)(.*)> and as replace text <tag-name1$1$2>.

The encoding used to read and write the files is detected from the XML header or from the BOM. If a file does not have an XML header or BOM <oXygen/> uses the UTF-8 encoding for files of type XML, that is one of the extensions: xml, xsl, fo, xsd, rng, nvdl, nrl, sch, wsdl or an extension associated with the XML editor type, or the encoding configured for non XML files.

You can cancel a long operation at any time by pressing the Cancel button of the progress dialog displayed when the operation is executed.

 

Figure 17.4. Find/Replace in Files

Find/Replace in Files

Complete the dialog as follows:

Text to Find

The target character string to search for.

Case Sensitive

When checked, operations are case sensitive.

Whole words only

When checked only whole occurrences of a word will be included in the operation.

Search also in tags

When checked, operation will include content of the start and end tags of the XML elements.

Regular Expression

When checked allows using any regular expression in PERL syntax.

Replace with

The character string with which to replace the target. It may contain regexp group markers if the search expression is a regular expression and the regular expression checkbox is checked.

Make Backups with extension

In the replace process <oXygen/> makes backup files of the modified files. The default extension is *bak, but you can change extension as you prefer.

Specified Path

Choose the search path

Directory of the current edited file

The search is done in the directory of the file opened in the current editor panel. If there is no opened file this option is disabled in the dialog.

Project Files (File Filter)

Search the files from the current project using the specified file filter.

Selected project files

Search only in the selected files of the current opened project

[Note]Note

The search is performed only on local files. If you have added to the project remote files from an FTP or WebDAV server these will be skipped from the search.

Recurse subdirectories

The search is performed recursively in the sub-directories found in the specified directory path only when this option is checked.

Recurse subdirectories

When checked, the search is performed recursively in the sub-directories found in the specified directory path.

Find All

Executes a find operation and returns the result list to the Message Pane

Replace All

Replaces all occurrences of the target contained in the specified files.

[Warning]Use this option with caution.

Global search and replace across all project files does not open the files containing the targets, nor does it prompt on a per occurrence basis, to confirm that a replace operation must be performed. As the operation simply matches the string defined in the find field, this may result in replacement of matching strings that were not originally intended to be replaced.