温馨提示:本文翻译自stackoverflow.com,查看原文请点击:linux - How to convert result as Integer in bash
awk bash linux sed

linux - 如何在bash中将结果转换为Integer

发布于 2020-04-04 10:20:45

当我做

$ ls | wc -l
703

它给了我结果703,我想打印702 (703-1)

我该怎么做呢?

查看更多

提问者
Indo Cheap
被浏览
53
choroba 2020-01-31 22:05

您可以使用算术扩展:

result=$(( $(ls | wc - l) - 1))

或者只是忽略其中一个文件

result=$(ls | tail -n+2 | wc -l)

请注意,如果文件名包含换行符,则该功能无效。使用ls -q得到每行一个文件名在这种情况下。如果您对文件数而不是文件名中的行数感兴趣,这也适用于第一个解决方案。