gpt4 book ai didi

linux - bash 使用 grep 时 if 语句出现语法错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:29 26 4
gpt4 key购买 nike

i 等于 0 时,我在第 7 行遇到语法错误(并且 if 应该失败)。如果我在 grep 成功且 i 不为 0 的文件上使用它,则程序可以正常工作。

可能是什么问题?

#!/bin/bash

function search_author_tests {
while read line; do
i=`grep -c "commit version: "$line"" "$1"/QA/*.tst`
echo $i
if (($i>0)); then
echo -n $line
grep "result" `grep -wl "commit version: "$line"" "$1"/QA/*.tst`|cut -d ":" -f2
fi
done
}


grep -w "$2" "$1"/*.comp | cut -d" " -f2 | sort -n| search_author_tests $1

错误示例: 第 7 行:((:/u1/044/adaramir/mtm/ex1/q3/test3/cv/QA/1.tst:1/u1/044/adaramir/mtm/ex1/q3/test3/cv/QA/2.tst:0>0:语法错误:需要操作数(错误标记为“/u1/044/adaramir/mtm/ex1/q3/test3/cv/QA/1.tst:1/u1/044/adaramir/mtm/ex1/q3/test3/cv/QA/2.tst:0>0")

最佳答案

您正在从多个文件中进行 grep,并且您会看到每个文件的计数。将第 7 行的分配更改为

i=$(cat "$1"/QA/*.tst 2>/dev/null | grep -c "commit version: $line")

关于linux - bash 使用 grep 时 if 语句出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com