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.