Previous: Advanced Cleaning Variables, Up: Advanced Mark Commands


7.3 Special Marking Function

M-(
(dired-mark-sexp) Mark files for which predicate returns non-nil. With a prefix argument, unflag those files instead.

The predicate is a Lisp expression that can refer to the following symbols:

inode
[integer] the inode of the file (only for `ls -i' output)
s
[integer] the size of the file for `ls -s' output (usually in blocks or, with `-k', in KBytes)
mode
[string] file permission bits, e.g., `-rw-r--r--'
nlink
[integer] number of links to file
uid
[string] owner
gid
[string] group (If the gid is not displayed by `ls', this will still be set (to the same as uid))
size
[integer] file size in bytes
time
[string] the time that `ls' displays, e.g., `Feb 12 14:17'
name
[string] the name of the file
sym
[string] if file is a symbolic link, the linked-to name, else ""

For example, use

          (equal 0 size)
     

to mark all zero length files.

To find out all not yet compiled Emacs Lisp files in a directory, Dired all .el files in the lisp directory using the wildcard `*.el'. Then use M-( with

          (not (file-exists-p (concat name "c")))
     

to mark all .el files without a corresponding .elc file.