小编use*_*842的帖子

目录中的文件数,其中文件名可能有新行(或任何其他奇怪的字符)

我想知道特定目录中的项目数(文件、子目录等)。

似乎有很多关于它的问题,但大多数(如果不是全部)答案似乎都依赖于wc -l. 例如:

ls -1 | wc -l

但是,如果一个或多个文件的名称中有新行,这将给出错误的答案。这里的另一个问题是ls -1可能返回的不仅仅是文件。

一个不可移植的答案隐藏在数千个类似问题之一的评论中。有效,但不幸的是它依赖-printf于我的发行版中不可用的。

find -maxdepth 1 -type f -printf "\n" | wc -l (by Godlygeek)

是否有更便携的解决方案可以正确处理名称中包含任何字符的文件?

shell posix

0
推荐指数
1
解决办法
61
查看次数

标签 统计

posix ×1

shell ×1