如何从ls中排除列入黑名单的文件?
How to exclude blacklisted files from ls?
我有一个 blacklist
文件:
$ cat blacklist
Iran
Iraq
Libya
Somalia
Sudan
Syria
Yemen
如何从 ls
的输出中排除此 blacklist
文件中列出的文件?我已经阅读了手册页,最接近的是 --ignore
选项,不幸的是它没有读取文件。我还想过将 ls
的输出传送到 grep
并使用 --invert-match
选项忽略 blacklist
文件中的所有文件,但我不知道该怎么做所以。
如果你必须使用ls
,你可以这样做:
ls | grep -vFxf blacklist
-v
反转选择
-F
将文件黑名单中的行视为字符串,而不是模式
-x
匹配整行
-f
从黑名单中读取要匹配的模式/字符串
请注意,上述解决方案适用于所有情况,除非文件名中包含换行符。
我有一个 blacklist
文件:
$ cat blacklist
Iran
Iraq
Libya
Somalia
Sudan
Syria
Yemen
如何从 ls
的输出中排除此 blacklist
文件中列出的文件?我已经阅读了手册页,最接近的是 --ignore
选项,不幸的是它没有读取文件。我还想过将 ls
的输出传送到 grep
并使用 --invert-match
选项忽略 blacklist
文件中的所有文件,但我不知道该怎么做所以。
如果你必须使用ls
,你可以这样做:
ls | grep -vFxf blacklist
-v
反转选择-F
将文件黑名单中的行视为字符串,而不是模式-x
匹配整行-f
从黑名单中读取要匹配的模式/字符串
请注意,上述解决方案适用于所有情况,除非文件名中包含换行符。