在 bash + batch 中从 wc 中划分数字

Divide number from wc in bash + batch

所以我试图遍历一堆 PDF 文件,获取它们的字符数并将其除以 5。所以输出应该是这样的:

PDF1.pdf
400

PDF2.pdf
1000

假设PDF1.pdf有2000个字符,PDF2.pdf有5000个字符。这就是我目前正在做的事情:

for %%f in (*.pdf) do (
    echo %%~nf.pdf
    pdftotext %%~nf.pdf -enc UTF-8 - | wc -m
)

我真正寻求帮助的是从 wc -m 中获取值,将其除以 5 并回显出来。

我尝试了各种方法,例如 SET /A total=(wc -m) / 5,但似乎没有任何效果。

for %%f in (*.pdf) do (
 echo %%~nf.pdf
 for /f %%c in ('pdftotext %%~nf.pdf -enc UTF-8 - ^| wc -m') do set /a words=%%c / 5
 call echo %%words%%
)

应该可以解决问题。单引号产生字数的命令 - 注意插入符以转义管道。将所需的值分配给 words 并使用 call echo 技巧生成结果。

还有其他可能性...


带小数...

 for /f %%c in ('pdftotext %%~nf.pdf -enc UTF-8 - ^| wc -m') do set /a words=%%c*2
 call echo %%words:~0,-1%%.%%words:~-1%%.

乘以2=要求的值*10;显示所有条形最后一个字符、点、最后一个字符。