Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

readdir (3)

Name

readdir - directory input parser for gawk

Synopsis

@load "readdir"

Description

READDIR(3)                 GNU Awk Extension Modules                READDIR(3)



NAME
       readdir - directory input parser for gawk

SYNOPSIS
       @load "readdir"

DESCRIPTION
       The readdir extension adds an input parser for directories.

       When this extension is in use, instead of skipping directories named on
       the command line (or with getline), they  are  read,  with  each  entry
       returned as a record.

       The record consists of three fields. The first two are the inode number
       and the filename, separated by a forward slash character.   On  systems
       where  the  directory  entry  contains  the file type, the record has a
       third field which is a single letter indicating the type of the file: f
       for  file,  d  for  directory,  b for a block device, c for a character
       device, p for a FIFO, l for a symbolic link, s for a socket.

       On systems without the file type information, the extension falls  back
       to  calling  stat(2),  in  order  to provide the information.  Thus the
       third field should never be u.

       By default, if a directory cannot be opened (due  to  permission  prob-
       lems, for example), gawk will exit.  As with regular files, this situa-
       tion can be handled using a BEGINFILE rule that checks ERRNO and prints
       an error or otherwise handles the problem.

EXAMPLE
       @load "readdir"
       ...
       BEGIN { FS = "/" }
       { print "file name is", $2 }


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | text/gawk        |
       +---------------+------------------+
       |Stability      | Volatile         |
       +---------------+------------------+

SEE ALSO
       GAWK:  Effective  AWK  Programming,  filefuncs(3), fnmatch(3), fork(3),
       inplace(3), ordchr(3), readfile(3), revoutput(3), rwarray(3), time(3).

       opendir(3), readdir(3), stat(2).

AUTHOR
       Arnold Robbins, arnold@skeeve.com.

COPYING PERMISSIONS
       Copyright (C) 2012, 2013, 2018, 2019 Free Software Foundation, Inc.

       Permission is granted to make and distribute verbatim  copies  of  this
       manual  page  provided  the copyright notice and this permission notice
       are preserved on all copies.

       Permission is granted to copy and distribute modified versions of  this
       manual  page  under  the conditions for verbatim copying, provided that
       the entire resulting derived work is distributed under the terms  of  a
       permission notice identical to this one.

       Permission  is granted to copy and distribute translations of this man-
       ual page into another language, under the above conditions for modified
       versions,  except that this permission notice may be stated in a trans-
       lation approved by the Foundation.



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source                was                downloaded                from
       https://ftp.gnu.org/gnu/gawk/gawk-5.1.1.tar.xz.

       Further information about this software can be found on the open source
       community website at https://www.gnu.org/software/gawk.



Free Software Foundation          Oct 30 2019                       READDIR(3)