👤
Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

Linux 2.6 - man page for filelib (linux section 3erl)

filelib(3erl)			     Erlang Module Definition			    filelib(3erl)

NAME
       filelib - File utilities, such as wildcard matching of filenames

DESCRIPTION
       This module contains utilities on a higher level than the file module.

       The  module supports Unicode file names, so that it will match against regular expressions
       given in Unicode and that it will find and process raw file names (i.e. files named  in	a
       way that does not confirm to the expected encoding).

       If  the VM operates in Unicode file naming mode on a machine with transparent file naming,
       the fun() provided to fold_files/5 needs to be prepared to handle binary file names.

       For more information about raw file names, see the file module.

DATA TYPES
       filename() = string() | atom() | DeepList | RawFilename
	 DeepList = [char() | atom() | DeepList]
	 RawFilename = binary()
	 If VM is in unicode filename mode, string() and char() are allowed to be > 255.
	 RawFilename is a filename not subject to Unicode translation, meaning that it
	 can contain characters not conforming to the Unicode encoding expected from the
	 filesystem (i.e. non-UTF-8 characters although the VM is started in Unicode
	 filename mode).
       dirname() = filename()

EXPORTS
       ensure_dir(Name) -> ok | {error, Reason}

	      Types  Name = filename() | dirname()
		     Reason = posix() -- see file(3erl)

	      The ensure_dir/1 function ensures that all parent directories for the given file or
	      directory name Name exist, trying to create them if necessary.

	      Returns  ok if all parent directories already exist or could be created, or {error,
	      Reason} if some parent directory does not exist and could not be created	for  some
	      reason.

       file_size(Filename) -> integer()

	      The file_size function returns the size of the given file.

       fold_files(Dir, RegExp, Recursive, Fun, AccIn) -> AccOut

	      Types  Dir = dirname()
		     RegExp = regular_expression_string()
		     Recursive = true|false
		     Fun = fun(F, AccIn) -> AccOut
		     AccIn = AccOut = term()

	      The  fold_files/5 function folds the function Fun over all (regular) files F in the
	      directory Dir that match the regular expression RegExp (see the  re  module  for	a
	      description  of  the  allowed  regular  expressions). If Recursive is true all sub-
	      directories to Dir are processed. The regular expression matching is done  on  just
	      the filename without the directory part.

	      If  Unicode  file  name  translation is in effect and the file system is completely
	      transparent, file names that cannot be interpreted as Unicode may  be  encountered,
	      in  which case the fun() must be prepared to handle raw file names (i.e. binaries).
	      If the regular expression contains codepoints beyond 255, it will  not  match  file
	      names  that do not conform to the expected character encoding (i.e. are not encoded
	      in valid UTF-8).

	      For more information about raw file names, see the file module.

       is_dir(Name) -> true | false

	      Types  Name = filename() | dirname()

	      The is_dir/1 function returns true if Name refers to a directory, and false  other-
	      wise.

       is_file(Name) -> true | false

	      Types  Name = filename() | dirname()

	      The  is_file/1  function	returns true if Name refers to a file or a directory, and
	      false otherwise.

       is_regular(Name) -> true | false

	      Types  Name = filename()

	      The is_regular/1 function returns true if Name refers to a file (regular file), and
	      false otherwise.

       last_modified(Name) -> {{Year,Month,Day},{Hour,Min,Sec}} | 0

	      Types  Name = filename() | dirname()

	      The  last_modified/1 function returns the date and time the given file or directory
	      was last modified, or 0 if the file does not exist.

       wildcard(Wildcard) -> list()

	      Types  Wildcard = filename() | dirname()

	      The wildcard/1 function returns a list of all files that match Unix-style wildcard-
	      string Wildcard .

	      The  wildcard string looks like an ordinary filename, except that certain "wildcard
	      characters" are interpreted in a special way. The following characters are special:

		? :
		  Matches one character.

		* :
		  Matches any number of characters up to the end of the filename, the  next  dot,
		  or the next slash.

		[Character1,Character2,...] :
		  Matches any of the characters listed. Two characters separated by a hyphen will
		  match a range of characters. Example: [A-Z] will match any uppercase letter.

		{Item,...} :
		  Alternation. Matches one of the alternatives.

	      Other characters represent themselves. Only filenames that have  exactly	the  same
	      character  in  the  same position will match. (Matching is case-sensitive; i.e. "a"
	      will not match "A").

	      Note that multiple "*" characters are allowed (as in Unix wildcards, but opposed to
	      Windows/DOS wildcards).

	      Examples:

	      The  following  examples	assume	that  the  current  directory  is  the	top of an
	      Erlang/OTP installation.

	      To find all .beam files in all applications, the following line can be used:

		  filelib:wildcard("lib/*/ebin/*.beam").

	      To find either .erl or .hrl in all applications src directories, the following

		  filelib:wildcard("lib/*/src/*.?rl")

	      or the following line

		  filelib:wildcard("lib/*/src/*.{erl,hrl}")

	      can be used.

	      To find all .hrl files in either src or include directories, use:

		  filelib:wildcard("lib/*/{src,include}/*.hrl").

	      To find all .erl or .hrl files in either src or include directories, use:

		  filelib:wildcard("lib/*/{src,include}/*.{erl,hrl}")

       wildcard(Wildcard, Cwd) -> list()

	      Types  Wildcard = filename() | dirname()
		     Cwd = dirname()

	      The wildcard/2 function works like wildcard/1 , except that instead of  the  actual
	      working directory, Cwd will be used.

Ericsson AB				  stdlib 1.17.3 			    filelib(3erl)


All times are GMT -4. The time now is 12:27 PM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password