#----------------------------------------------------------------------
# Text functions.
+# Filter a list by regexp.
+pure function filter (pat, xs) returning strings = @{
+ for f in %xs; do echo "$f"; done | grep -E -- %pat
+}
+
+# Filter out a list by regexp.
+pure function filter-out (pat, xs) returning strings = @{
+ for f in %xs; do echo "$f"; done | grep -v -E -- %pat
+}
+
# Head of a list.
pure function head (xs) returning string = @{
for f in %xs; do
# Base name.
pure function basename (name) returning string = @{
- basename %name
+ basename -- %name
}
# Directory name.
pure function dirname (name) returning string = @{
- dirname %name
+ dirname -- %name
}
# File extension.
# Read a file.
function read (filename) returning string = @{
- cat %filename
+ cat -- %filename
}
# Read a file as a list of lines.
function readlines (filename) returning strings = @{
- cat %filename
+ cat -- %filename
}
# Real path.