我的脚本出现问题,我似乎无法看到问题出现在哪里。
rules=$(echo "$result" | grep '^[[:space:]]\{2\}[0-9]\|^\*' | sed 's/^.//' | \
awk '{ x = $0 "\n" x } END { printf "%s", x }' | awk '{print $1}')
numRules=$(echo "$rules" | wc -l)
这是我的下面数据的脚本,这将是$result
ID Action Category From Hits
----------------------------
100 deny trial1 herb 0
200 deny trial2222 herb.patrick 0
300 deny triaaaals herb.patrick.hernandez 0
我的目标是能够在$rules
中获得100,200,300的ID,并且我能够获得此示例中的ID总数:{{1} } 3
将是正确的回报。
$numRules
答案 0 :(得分:1)
使用GNU grep和数组:
rules=($(grep -o '^[0-9]\+' file))
numRules=${#rules[@]}
echo ${rules[@]}
echo $numRules
输出:
100 200 300 3