Lists or filters file system objects (eg files)
f
lists or filters lists of file system objects, such as files, directories,
etc. f
provides a quick way to output file system items that confirm to
specific criteria.
You define this criteria by using +flags (eg +s
for all symlinks) and
optionally then restricting that criteria with -flags (eg -x
to remove all
executable items). All flags supported as +
are also supported as a -
.
By default f
will return no results. You need to include +flags.
Output is a JSON array as this format preserves whitespace in file names.
f options -> <stdout>
<stdin> -> f options -> <stdout>
f +d
Return file and directories but exclude symlinks:
f +fd -s
Filter out files in a list (eg created by g
) using conditions set by f
:
g '*.go' -> f +f
rx '\.(txt|md)' -> f +fw
+
include files (pair this with any other flag apart from-
)-
exclude files (pair this with any other flag apart from+
)?
deprecated -- usei
insteadD
regular directoriesE
other read permissionsF
regular files (exc symlinks, devices, sockets, named pipes, etc)Q
other write permissionsR
user read permissionsS
socketsW
user write permissionsX
user execute permissionsZ
other execute permissionsb
block devicesc
character devicesd
all directories (inc symlinks)e
group read permissionsf
all files (inc symlinks, devices, sockets, name pipes, etc)i
irregular files (nothing else is known about these files)l
symlinksp
POSIX named pipes (FIFO)q
group write permissionsr
read permissions (user, group, or other)s
symlinksw
write permissions (user, group, or other)x
execute permissions (user, group, or other)z
group execute permissions
+
flags are always matched first. Then the -
flags are used to filter out
any matches from the +
flags.
f
- Globbing (
g
): Glob pattern matching for file system objects (eg*.txt
) - Regex Matches (
rx
): Regexp pattern matching for file system objects (eg.*\\.txt
) json
: JavaScript Object Notation (JSON)
This document was generated from builtins/core/io/f_doc.yaml.