非常简单/快速的问题,为什么这个命令不起作用?
watch ls *.log | wc -l
或
watch -d ls *.log | wc -l
我正在尝试查看当前目录中文件总数的更新。
如果你想通过管道传输命令并观察它,请在它周围添加引号,如下所示:
watch "ls | wc -l"
即使这里的问题显然是引用,你也不应该解析命令ls
。计算目录中文件数的规范方法是:
find /path/to/dir -maxdepth 1 -type f -printf "c" | wc -c
这样可以避免可能包含换行符的有趣名称的问题。
OP的解决方案如下:
watch 'find . -maxdepth 1 -type f -printf "c" | wc -c'