On 2024-02-18 14:07, Mathias MICHEL via GNU coreutils Bug Reports wrote:
Is it expected that --ignore arg does not apply on globbed FILE ?
Yes. --ignore is about what 'ls' finds in directories, not about
command-line arguments.
My goal is to avoid using grep or complex find args:
> ~/.ssh :: ls id_ed* | grep -v "\.pub$" > id_ed25519 id_ed25519.local
id_ed25519_ori
Try this:
ls --hide='[^i]*' --hide='i[^d]*' --hide='id[^_]*' --hide='id_[^e]*'
--hide='id_e[^d]*' --hide='*.pub'
Admittedly ugly, but does the job.