【发布时间】:2017-06-30 03:31:40
【问题描述】:
我想要一个 bash 脚本来检查文件的行数是否超过 # 行,但我还没有让它正常工作,我不太确定如何去做。 我以前从未使用过 bash。
现在我使用:linesStr=$(cat log | wc -l) 来获取文件中的行数(期望它是一个字符串)。当回显时,它给了我正确的数字 30。
但由于它很可能是一个字符串,它不执行 if 语句,所以我需要将linesStr 转换为一个名为linesInt 的int。
我也觉得 if 语句本身也没有正确完成。
#!/bin/bash
linesStr=$(cat log | wc -l)
echo $linesStr
if [$linesStr > 29]
then echo "log file is bigger than 29 lines"
#sed -i 1d log
fi
如果有人能给我一个简单的初学者解决方案,我将不胜感激。
【问题讨论】:
-
你可以做
wc -l < log。 -
wc -l
-
抱歉,这是我原始评论中的一个错误。
wc -l log打印30 log,但wc -l < log只打印30。
标签: string bash if-statement int