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. This work © 2016-2024 by yctct is licensed under CC BY-ND 4.0 .   about me   contact me   all entries & tags   FAQ   GPG public key

GPG fingerprint: 2E0F FB60 7FEF 11D0 FB45 4DDC E979 E52A 7036 7A88