解析命令行值
parse command line values
我的脚本有问题,我似乎看不出问题出在哪里。
rules=$(echo "$result" | grep '^[[:space:]]\{2\}[0-9]\|^\*' | sed 's/^.//' | \
awk '{ x = [=10=] "\n" x } END { printf "%s", x }' | awk '{print }')
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
我的目标是能够将 100、200、300 的 ID 放在 $rules
中,并且我能够获得此示例的 ID 总数:3
将是 $numRules
的正确 return。
$rules= 100 200 300
$numRules = 3
使用 GNU grep 和数组:
rules=($(grep -o '^[0-9]\+' file))
numRules=${#rules[@]}
echo ${rules[@]}
echo $numRules
输出:
100 200 300
3
我的脚本有问题,我似乎看不出问题出在哪里。
rules=$(echo "$result" | grep '^[[:space:]]\{2\}[0-9]\|^\*' | sed 's/^.//' | \
awk '{ x = [=10=] "\n" x } END { printf "%s", x }' | awk '{print }')
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
我的目标是能够将 100、200、300 的 ID 放在 $rules
中,并且我能够获得此示例的 ID 总数:3
将是 $numRules
的正确 return。
$rules= 100 200 300
$numRules = 3
使用 GNU grep 和数组:
rules=($(grep -o '^[0-9]\+' file))
numRules=${#rules[@]}
echo ${rules[@]}
echo $numRules
输出:
100 200 300 3