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
_RCDIR	# new style config storage
_RCFILE	# new style 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
#   Errorlevels and exit:
#   0		- INFO
#   1..255	- ERROR (exit)
#   Negatives are treated as bit scales
#   01		- WARNING
#   10		- ERROR
#   11		- no message type
#   0100	- exit status 0/1
#   1000	- always exit
_Error() errormsg [errorlevel]

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

# Display warning message if _Verb>=0
_Warning() message

# Display a message to stderr and exit
_Die() [message]

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

#==========================================================
# 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]

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

#==========================================================
# Date/time arithmetic
# Append Shift to Date
#  e. g.: _DateAdd "12 feb 2010 10:12 pm" "2 days 1 hour"
_DateAdd() Date Shift

#==========================================================
# 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 string that is *not* in Text (first look for Defauilt string)
_NotIn() Text [Default=@@@]

# 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 with fields separated by "separator"
_DelArg() argument_string arg [separator=' ']

# 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=."[/]"]

# If input is file, cat it, and then echo args
_CatEcho() [text]

# Pick file list of <prefix><version>-<timestamp><suffix>
# and generate <prefix><version-=1>-<current_timestamp><suffix>
# VERSION is hexadecimal; use "-" for empty suffix or prefix
_RevFileNames() [prefix [suffix [max_version [stamp_format [newprefix]]]]]

# Calculate longest common path of file list on stdin or arguments
_LCP() [path1 [path2 ...]]

