我在bash中写了一个脚本
我有一个数组,我想添加如果我发现Id =到$ i变量,否则我想添加文本null并递增直到两个变量都是相同的值
示例:
$ I = 10101
$ Id可以取此值(10101,10102,10105,10107)
这是我的代码的一部分
txts=()
for line in $(cat file.txt)
do
Id="$(echo $line | cut -d ' ' -f1)"
#I want to know how to transform the Id into a int ????
eId=$(echo $Id + 0)
txt="$(echo $line | cut -d ':' -f2)"
if [[ $i -eq $eId ]]; then
txts+=("$txt")
i=$((i+1))
else
for (( c=$i; c=$eId; c++))
do
txts+=("null")
i=$((i+1))
done
i=$(($eId))
fi
done
txts=()
while IFS='' read -r line || [[ -n "$line" ]]; do
Id=$(echo "$line" | cut -d ' ' -f1)
eId=$(echo $Id + 0)
txt="$(echo line | cut -d ':' -f2)"
if [[ $i -eq $eId ]]; then
txts+=("$txt")
i=$((i+1))
else
for (( c=i; c=eId; c++))
do
txts+=("null")
i=$((i+1))
done
i=$((eId))
fi
done < "Vlan_Port.txt"
输出:
./script.sh: line 27: = + 0: syntax error: operand expected (error token is "= + 0")
这可能吗?请解释原因。
起始指数为10101
我有一个带索引和文本的文件,我想知道它们是否在订单中,如果没有放入它们,如果有缺失索引,则将文本置为空,最后我想要的示例我给了上面是一个包含的数组:
10101 10102 空值 空值 10105 空值 10107