Splunk® Enterprise

Search Reference

Download manual as PDF

Download topic as PDF



Calls an external python program that can modify or generate search results. Scripts must be declared in the commands.conf file and be located in the $SPLUNK_HOME/etc/apps/<app_name>/bin/ directory. The script is executed using $SPLUNK_HOME/bin/python.

If you are using Splunk Cloud and want to install a custom script, file a Support ticket. Before being installed, your script is checked to ensure it complies with Splunk requirements for security, data safety, and so on.


script <script-name> [<script-arg>...] [maxinputs=<int>]

Required arguments

Syntax: <string>
Description: The name of the scripted search command to run, as defined in the commands.conf file.

Optional arguments

Syntax: maxinputs=<int>
Description: Specifies how many of the input results are passed to the script.
Default: 100
Syntax: <string> ...
Description: One or more arguments to pass to the script. If you are passing multiple arguments, delimit each argument with a space.


The script command is effectively an alternative way to invoke custom search commands. See About writing custom search commands.

The following search

| script commandname

is largely synonymous with

| commandname

Note: Some functions of the script command have been removed over time. The explicit choice of Perl or Python as an argument is no longer functional and such an argument is ignored. If you need to write Perl search commands you need to declare them as Perl in the commands.conf file. This is not recommended, as you need to determine a number of underdocumented things about the input and output formats. Additionally, support for explicit filename reference for scripts in the etc/searchscripts directory has been removed. All search commands must now be declared in the commands.conf file.


Example 1:

Run the Python script "myscript" with arguments, myarg1 and myarg2; then, email the results.

... | script myscript myarg1 myarg2 | sendemail to=david@splunk.com


Have questions? Visit Splunk Answers and see what questions and answers the Splunk community has using the script command.


This documentation applies to the following versions of Splunk® Enterprise: 4.3, 4.3.1, 4.3.2, 4.3.3, 4.3.4, 4.3.5, 4.3.6, 4.3.7, 5.0, 5.0.1, 5.0.2, 5.0.3, 5.0.4, 5.0.5, 5.0.6, 5.0.7, 5.0.8, 5.0.9, 5.0.10, 5.0.11, 5.0.12, 5.0.13, 5.0.14, 5.0.15, 5.0.16, 5.0.17, 5.0.18, 6.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.0.6, 6.0.7, 6.0.8, 6.0.9, 6.0.10, 6.0.11, 6.0.12, 6.0.13, 6.0.14, 6.1, 6.1.1, 6.1.2, 6.1.3, 6.1.4, 6.1.5, 6.1.6, 6.1.7, 6.1.8, 6.1.9, 6.1.10, 6.1.11, 6.1.12, 6.1.13, 6.2.0, 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.2.5, 6.2.6, 6.2.7, 6.2.8, 6.2.9, 6.2.10, 6.2.11, 6.2.12, 6.2.13, 6.3.0, 6.3.1, 6.3.2, 6.3.3, 6.3.4, 6.3.5, 6.3.6, 6.3.7, 6.3.8, 6.3.9, 6.3.10, 6.3.11, 6.4.0, 6.4.1, 6.4.2, 6.4.3, 6.4.4, 6.4.5, 6.4.6, 6.4.7, 6.4.8, 6.5.0, 6.5.1, 6.5.1612 (Splunk Cloud only), 6.5.2, 6.5.3, 6.5.4, 6.5.5, 6.6.0, 6.6.1, 6.6.2, 6.6.3, 7.0.0


Richgalloway, thanks for pointing out the broken link. I have fixed it.

Lstewart splunk, Splunker
March 25, 2016

The "Custom search commands" link in the Usage paragraph is broken.

March 24, 2016

It doesn't seem to matter if perl or python or neither is put on the command line - what matters is commands.conf - see http://docs.splunk.com/Documentation/Splunk/6.0.1/Admin/Commandsconf<br /><br />Also note that "commands.conf.example" is wrong. It has TYPE=... and FILENAME=... where it should have type=... and filename=...

February 10, 2014

I feel there is a bug. IF I run a saved search and put script command, the script command is executed multiple times.<br />eg.<br />| savedsearch mySavedSearch | script samplePython <br /> <br />The number times script runs varies on the duration of the savedsearch !!

December 17, 2013

This 'script' command doesn't seem to run any python/perl script living in $SPLUNK_HOME$/etc/searchscripts. In order to run a script in your search bar it must be configured in $SPLUNK_HOME$/etc/system/local/commands.conf like below.<br /><br />[sayhello]<br />FILENAME = sayhello.py<br /><br />And the name of stanza should match the name of script file as well.

Asohahn splunk
September 16, 2013

#!/usr/bin/perl<br />chomp($search_in=@ARGV[0]);<br />#-- scalar context<br />$result = `/usr/local/bin/mybin $search_in`;<br />print "MYFIELD=",$result;<br /><br />I tried this script and it "works" but I can't manage output and put it on a table for example.

April 9, 2013

Was this documentation topic helpful?

Enter your email address, and someone from the documentation team will respond to you:

Please provide your comments here. Ask a question or make a suggestion.

You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters