Shell gt 比较文件行

Shell gt 比较文件行

我正在尝试检查文件的行数是否大于 2 我编写了以下脚本:

  (wc -l myfile | cut -c  1) -gt 2

但是我收到错误:预期标记“-gt”附近的语法错误,有什么想法吗?

答案1

要测试文件中是否包含两行以上:

if [ "$( wc -l <file )" -gt 2 ]; then echo 'more than two lines'; fi

你错过了$前面的(...),也错过了if [ ... ]。您需要$( ... )命令替换,因为您想对命令的输出执行某些操作。

有些人更喜欢以下语法:

test "$( wc -l <file )" -gt 2 && echo 'more than two lines'

要不就

[ "$( wc -l <file )" -gt 2 ] && echo 'more than two lines'

通过将文件提供给 的标准输入wc,我们避免了麻烦cut

相关内容