Previous: Advanced Cleaning Variables, Up: Advanced Mark Commands [Contents][Index]

### 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.