August 18, 2023

Exclude files and directories when listing with ls

To exlude files from the output of ls run:

$ ls | grep -v pattern

The option -v tells grep to exclude the matches (i.e. to show non-matching lines). pattern is the expression you want to exclude. For example:

$ ls | grep -v '^20*' 

excludes all contents (e.g. files and directories) which names start with the digits 20.

$ ls | grep -v '^202[0-2].*' 

excludes all contents which names start with the digits 2020, 2021 or 2022.

grep is copyleft-licensed and is maintained by Jim Meyering1. It was first released in 1973.

See also:


  1. GNU Grep official website.↩︎


personal computing command-line interface (cli) gnu linux trisquel shell literacy office applications wiki grep text processing

No affiliate links, no analytics, no tracking, no cookies. © 2016-2023 yctct.com. Content is licensed under CC BY-NC-SA 4.0 .