Run /usr/lib/nish/functions itself to get this detailed help on functions:
###########################################################
#
#	NameSpace Independent Shell Functions
#
# This is main supplementary functions file
# it is not intended to be called directly
# see functions digest below
#
# Any global variable or function name defined here MUST start with "_"
# to avoid namespace clash (all user-defined names must NOT start with "_")
# Names started with two _'s are internals and should not be used outside
#
#==========================================================
# Variables:
_Me	# script name
_GMe	# global script name (for set of scripts)
_FMe	# script fullpath
_MeDir	# script directory
_MePID	# PID of current shell
_Home	# base directory
_AMe	# script name alphanumeric part (for generating filenames)
_RC	# config file
_SYSRC	# system-wide config file
_RC_HOST	# host specific config file
_Verb	# verbosity level
_Options	# getopts options (generated!)
_Usage	# short help string
_Help	# long help string
_TmpFiles	# temporary files
_TmpDirs	# temporary directories
_LC_COLLATE	# LC_COLLATE submissions
_Version	# software version
_OS	# OS identifier
# LC_COLLATE wrappers (e. g. for [a-z] regexps work properly etc.)
# sed grep sort type
_Esed() 
 sed -r "$@"; } || _Esed() { sed -E "$@"; }
#==========================================================
# Message displaying and error system
# Display an error to stderr
#	check _Verb if to display message
#	exit if errorlevel >0 or "x"
#	do not display error type in "Q" (quiet) mode
_Error() errormsg [errorlevel|"q" [errorlevel]]

# Display a message to stderr
_Msg() [message]

# Display message in verbose mode only
_Debug() [message] [verbosity]

#==========================================================
# Temporary files and exit handler
# Remove all temporary files and directory
_clean_tmp() 

# Perform actions on exit
_exit_handler() 

# Perform actions on deadly signal and exit 
_signal_handler() 

# create a temporary file and store its name to _TmpFiles
# second parameter means type: [-]d* -- directory, [-]p* -- pipe, other -- file
# (type is also used as "prefix" if later is not set)
# assign filename to "variable"
_TmpFile() variable [type [prefix [suffix]]]  

# create a temporary directory and store its' name to _TmpDirs
# assign filename to "variable"
_TmpDir() variable

#==========================================================
# Help system
# WARNING: this function strongly depends on "case" operator programming style:
#	key) # help string
# if help string contains capitalized word, it will be used as parameter name
# E. g.:
#	o) # redirect output to FILE
# will produce this help string:
#	-o FILE		redirect output to FILE	
# By default, help strings are searched
# from the first occurance of " getopt[s] " string to the first " esac$" pattern
# so keep a commentary after additional "esac" if it emerges inside
#
# Generted varsiables:
# _Options -- option string in getopts format
# Store a help information
_MakeHelp() description [tail_text [additional_help [start_pattern end_pattern]]]

# Print error message and usage or usage and help (if no optarg), then exit
_ExitHelp() opt optarg [ret]

#==========================================================
# Configuration file editing
# Set "Variable=Value" inside Context of File or append it at the start of the Context
_CfgEqSet() File Variable Value [Context=0,$]

# Print Value from "Variable=Value" inside Context of File
_CfgEqGet() File Variable [Context=1,$]

# Print Value from "Variable Value" inside Context of File
_CfgBlGet() File Variable [Context=1,$]

# Delete all "Variable=" entries inside Context of File
_CfgEqDel() File Variable [Context=1,$]

# Comment all "Variable=" entries inside Context of File
_CfgEqComm() File Variable [Context=1,$]

# Uncomment all "#Variable=" entries inside Context of File
_CfgEqUnComm() File Variable [Context=1,$]

#==========================================================
# Parallel execution functions
# To run a number of tasks in parallel:
# first call _II_init <max_number_of_tasks>
# next call _II_run <task> [<parameters...>] for each task
# and last call _II_wait to wait for last task to be done
# Detect number of cores
_II_cores() 

# Initialize parallel environment for running maxproc tasks at once
_II_init() [maxproc]

# Wait for empty slot becomes available, then execute a task
_II_run() task [args ...]

# Wait for all tasks to be done
_II_wait() 

#==========================================================
# Misc functions
# print N-th string character (or N-th substring of cell_size length)
_Left() String N [cell_size]

# print newest/-oldest of version numbers given (via sort -V)
_Newer() [-] VersionNumber1 [VersionNumber2 ...]

# print pseudo-random 0..Max (32767 if Max undefined)
_Random() [Max]

# parse "ipcalc Parameters" and get Field value
_IpCalc() Parameters Field

# print "prefix""N*str""suffix", if any
_NStr() N str=" " [prefix [suffix]]

# decode utf-8 output if not utf-8 locale is used
_DeU8() [locale]

# remove arg from argument_string
_DelArg() argument_string arg

# translate string of format "3-5,12,15" to "3 4 5 12 15"
# and print it using printf formatstring if specified (default is %d)
_ExpandEnum() [formatstring] number_list [divider [diapazone_divider]]

# quote Chars_regexp in Str (e. g. /home/dir -> \/home\/dir)
_Quote() Str [Chars_regexp=."[/]"]

# use this to cat the stdin and echo args instead of running filter-like program
_CatEcho() [text]

# Pick file list of <prefix><version>-<timestamp><suffix>
# and generate <prefix><version-=1>-<current_timestamp><suffix>
# VERSION is hexadecimal
_RevFileNames() [prefix [suffix [max_version [stamp_format]]]]

# Grep digest from NISH file
_Digest() [Name_pattern [filename]]

