在 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;显示所有条形最后一个字符、点、最后一个字符。
所以我试图遍历一堆 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;显示所有条形最后一个字符、点、最后一个字符。