使用 'ls' 时排除“.hidden”中列出的文件

Exclude files listed in '.hidden' when using 'ls'

在我的主文件夹中,我有一个名为“.hidden”的文件,我在其中放置了一些我不想在该目录中看到的文件和文件夹的名称。我不能更改他们的名字,即:我 不能 把点 '.'在开头。

当我在终端输入 'ls' 时,它会列出所有文件和文件夹,包括“.hidden”中列出的文件和文件夹。我希望 'ls' 排除它们。

有办法吗?

我必须将文件“.hidden”的内容传递给ls。类似于:

ls --ignore= [SOME MAGIC HERE] $(tr '\n' ' ' < .hidden)

谢谢! :)

这是我解决这个问题的方法:

alias ls='exclusion=; while read p ; do exclusion=$exclusion" -I$p"; done < ~/.hidden; ls $exclusion --color=auto --group-directories-first'

我有另一个解决方案! sedtrxargs 来救援!

alias ls="sed 's/^/-I \"/' .hidden 2>/dev/null | sed 's/$/\"/' | tr '\n' ' ' | xargs ls --color=auto"