我有一个这样的清单:
cat mandi
234
562
3256
77
356
我想将此列表的每一行与数字x
进行比较,然后在输出大于数字时打印输出。
我尝试了这个脚本,但它没有我期望的结果。
#!/bin/bash
i=1;
for i in {1..$mandi}
do
if [ "$i" -gt 10000 ];
then
echo "probleme"
else
echo "Not problem"
fi
done
答案 0 :(得分:0)
试试这个:
#!/bin/bash
while read line;
do
if (( ${line} > 1000 ));
then
echo "problem"
else
echo "good"
fi
done < mandi
答案 1 :(得分:0)
您可以使用像awk这样的工具来实现相同目的,例如
awk '$0>350{print $0,"-problem";next}{print $0,"-no problem"}' mandi
234 -no problem
562 -problem
3256 -problem
77 -no problem
356 -problem
用适当的数字替换350
答案 2 :(得分:0)
希望这会有所帮助:)
#!/bin/bash
i=1
mandi=`cat mandi` # loads to file mandi contents to a variable
mandi=($mandi) # converts to list
for i in "${mandi[@]}"
do
if [ $i -gt 10000 ];
then
echo "probleme"
else
echo "Not problem"
fi
done
答案 3 :(得分:0)
请使用此:
cat mandi | while read num ;do if [ $num -gt 500 ] ;then echo "problem";else echo "no problem";fi; done;
结果:
no problem
problem
problem
no problem
no problem