Replaces field values with the values that you specify.
Replaces a single occurrence of the first string with another string in the specified fields. If you do not specify a one or more fields, the value is replaced in all fields.
replace (<wc-string> WITH <wc-string>)... [IN <field-list>]
- Syntax: <string>
- Description: Specify one or more field values and their replacements. You can use wildcard characters to match one or multiple terms.
- Syntax: <string> ...
- Description: Specify a space delimited list of one or more field names for the field value replacements. Replacement values on
_internalfields, require you to specify the field name with the IN <fieldname> clause.
replace command is a distributable streaming command. See Command types.
Non-wildcard replacement values specified later take precedence over those replacements specified earlier. For a wildcard replacement, fuller matches take precedence over lesser matches. To assure precedence relationships, you are advised to split the replace into two separate invocations. When using wildcard replacements, the result must have the same number of wildcards, or none at all. Wildcards ( * ) can be used to specify many values to replace, or replace values with.
Change any host value that ends with "localhost" to simply "localhost".
... | replace *localhost WITH localhost IN host
Change the order of strings in host values so that "localhost" precedes the other strings.
... | replace "* localhost" WITH "localhost *" IN host
Change the value of two fields.
... | replace aug WITH August IN start_month end_month
Replace an IP address with a more descriptive name.
... | replace 127.0.0.1 WITH localhost IN host
Replace values of a field with more descriptive names.
... | replace 0 WITH Critical, 1 WITH Error IN msg_level
Search for an error message and replace empty strings with a whitespace. Note: This example will not work unless you have values that are actually the empty string, which is not the same as not having a value.
"Error exporting to XYZ :" | rex "Error exporting to XYZ:(?.*)" | replace
"" WITH " " IN errmsg
Replace values of an internal field, _time.
sourcetype=* | head 5 | eval _time="XYZ" | stats count BY _time | replace *XYZ* WITH *ALL* IN _time
Have questions? Visit Splunk Answers and see what questions and answers the Splunk community has using the replace command.
This documentation applies to the following versions of Splunk Cloud™: 6.6.3, 7.0.0, 7.0.3, 7.0.5, 7.0.2, 7.0.8, 7.1.3, 7.1.6, 7.2.3, 7.2.4, 7.2.6