0

所以我想写一个简单的命令,它比我当前目录中的文件数少一。我有这个命令接近但关闭了一个。

ls | wc -l

我如何通过管道将其bc减去,以便将其减一?

谢谢!

4

2 回答 2

0

这真的不是你想做的。改用find

find . -maxdepth 1 -type f | wc -l

此外,您可以排除隐藏文件,包括:

find . -maxdepth 1 -type f ! -name ".*" | wc -l

为了完整起见,您可以处理包含换行符和空格的文件,例如:

find . -maxdepth 1 -type f -print0 | tr -dc '\0' | wc -c
于 2013-01-26T03:30:01.853 回答
0

管道给bc你可以使用这样的东西

echo " $(ls | wc -l) - 1 " | bc

编辑:$( )用史蒂夫的答案或您需要的任何其他命令替换部分。

于 2013-01-26T03:41:22.987 回答