6 SC2101
Joachim Ansorg edited this page 2021-11-12 19:32:08 +01:00

Named class needs outer [], e.g. [[:digit:]].

Problematic code:

gzip file[:digit:]*.txt

Correct code:

gzip file[[:digit:]]*.txt

Rationale:

Predefined character groups are supposed to be used inside character ranges. [:digit:] matches one of "digt:" just like [abc] matches one of "abc". [[:digit:]] matches a digit.

Exceptions

When passing an argument to tr which parses these by itself without relying on globbing, you should quote it instead, e.g. tr -d '[:digit:]'