Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019

readdir (3)


readdir - directory input parser for gawk


@load "readdir"


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

       readdir - directory input parser for gawk

       @load "readdir"

       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,  and  u
       (unknown) for anything else.

       On systems without the file type information, the third field is always

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

       |Availability   | text/gawk        |
       |Stability      | Volatile         |
       On GNU/Linux systems, there are  filesystems  that  don't  support  the
       d_type  entry  (see readdir(3)), and so the file type is always u.  You
       can use the filefuncs extension to call stat() in order to get  correct
       type information.

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

       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).

       Arnold Robbins, arnold@skeeve.com.

       Copyright (C) 2012, 2013, 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.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source                was                downloaded                from

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

Free Software Foundation          Jan 15 2013                       READDIR(3)