![如何仅列出 UNIX 上的普通文件](https://linux22.com/image/1405591/%E5%A6%82%E4%BD%95%E4%BB%85%E5%88%97%E5%87%BA%20UNIX%20%E4%B8%8A%E7%9A%84%E6%99%AE%E9%80%9A%E6%96%87%E4%BB%B6.png)
我想使用 GNU 工具中的 ls 仅列出普通文件(而不是目录或符号链接)。到目前为止,我只有一些 hackish grep。有没有其他选择或更好的方法来实现这一点?
编辑:我需要更多咖啡:find -type d
谢谢
答案1
您是否尝试过 find type -f。我的意思是
find /path/of/yourlocation type -f
答案2
由于您没有指定您的 shell,因此这里有一个使用 Z shell 的解决方案。使用zsh
它很容易限制任何命令仅适用于纯文本文件:
zsh% ls *(.)
zsh% tail *(.)
这使用了所谓的全局限定符 (.)
将扩展限制*
为纯文件。请参阅man zshexpn
更多限定符和说明。使用全局限定符我几乎不再需要拨打可怕的find
电话了。