dired-x: Special Marking Function
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.