鱼 Shell 循环计数器

Fish Shell Loop Counter

我正在尝试计算目录中 PDF 文档的页数 - 这工作正常,但我无法让计数器变量增加。 目录中有两个文档,分别为 1 页和 4 页。我下面脚本的 return 是:

1 
4

为什么它不递增 $i ?

#!/usr/local/bin/fish


set i 0

for pdf in *.pdf
     set i (math i + (pdfinfo $pdf | grep Pages | awk '{print }'))    
     echo $i
end

找到了手头的问题 - 空格使它有问题...

通过执行 **.pdf 它会递归遍历所有文件夹...

#!/usr/local/bin/fish


set i 0

for pdf in **.pdf
     set i (math $i+(pdfinfo $pdf | grep Pages | awk '{print }')) 
     echo $i
 end

另一种方法:在 awk 中进行数学计算:

for p in **.pdf; pdfinfo $p; end | awk ' == "Pages:" {sum += } END {print sum}'

要捕捉到:

set npages (
    for p in **.pdf
        pdfinfo $p 
    end | awk ' == "Pages:" {sum += } END {print sum}'
)
echo $npages