我的第一个清单包含:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ....
列表x包含:
5 10 15 20 ...
我想打印第一个列表中列表x中没有的任何数字,即:
1 2 3 4 6 7 8 9 11 12 13 14 16 17 18 19 .....
#!/bin/bash
for i in $(seq 0 5 100)
do
echo $i
done
我想打印号码不包含#for i in $(seq 0 5 100)
答案 0 :(得分:1)
你可以这样做:
seq 100 | egrep -v "0$|5$"
基本上它会查找并删除(-v
)任何以0或5结尾的行。
答案 1 :(得分:0)
目前尚不清楚你是否有实际的名单,或只是想要生成一个不包含5的倍数的列表。如果它是后者,只需要做类似的事情
#!/bin/bash
for i in {0..100}; do
(( $i % 5 != 0 )) && echo "$i"
done
%
等同于mod
。