在一个zsh函数中,我想得到ls输出的行数(当在终端的表中格式化时)。ls | wc -l显然不起作用,因为ls的输出在管道传输时是不同的,所以这只会计算文件的数量。
ls | wc -l
aij0ehis1#
我通过安装expect(对于unbuffer)并使用
expect
unbuffer
alias unbuffer='unbuffer ' unbuffer ls --color=never | wc -l
如果ls是别名,则unbuffer带有尾随空格的别名会导致ls在第二行中展开,因为诸如--group-directories-first或-x之类的标志可能会更改ls输出的行数
ls
--group-directories-first
-x
1条答案
按热度按时间aij0ehis1#
我通过安装
expect
(对于unbuffer
)并使用如果
ls
是别名,则unbuffer
带有尾随空格的别名会导致ls
在第二行中展开,因为诸如--group-directories-first
或-x
之类的标志可能会更改ls
输出的行数