Gli anchor funzionano solo con grep o possono essere usati con altri comandi?
Ad esempio:
ls -l ^cat
Risposta accettata:
Ancoraggi di espressioni regolari come ^
e $
vengono analizzati solo da strumenti che implementano espressioni regolari. ls
non è uno strumento del genere, e quindi no, non può usarli. Tuttavia, qualsiasi binario invocato dalla shell può utilizzare il globbing della shell, che è un meccanismo di ricerca basato su caratteri jolly più semplice, anche se meno potente.
Ad esempio, per un elenco di tutti i file i cui nomi iniziano con cat:
$ ls cat* # lists all files with names which start with 'cat'
$ ls *dog # lists all files with names which end with 'dog'
$ ls d*y # Lists all files which names which start with 'd' and end
with 'y', e. g. 'donkey'
$ ls p?g # Lists all files which start with 'p', have one additional
character, and end with 'g', e. g. 'pig' and 'pug'
Per scopi di glob, *
significa "zero o più caratteri"; mentre ?
significa "precisamente un carattere".