5.3 Special Marking Function

M-(

Mark files for which predicate returns non-nil (dired-mark-sexp). 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.