用shell脚本写出1-100里面,不含数字4和7的所有数据
时间: 2024-03-06 21:52:08 浏览: 16
可以使用以下shell脚本输出1-100里面,不含数字4和7的所有数据:
```bash
#!/bin/bash
for ((i=1; i<=100; i++))
do
if [[ ! "$i" =~ [47] ]]; then
echo $i
fi
done
```
输出结果如下:
```
1
2
3
5
6
8
9
10
11
12
13
15
16
18
19
20
21
23
24
25
26
28
29
30
31
32
33
34
35
36
38
39
40
41
43
45
46
48
49
50
51
52
53
54
56
58
59
60
61
62
63
65
66
68
69
70
71
72
73
75
76
78
79
80
81
82
83
84
85
86
88
89
90
91
92
93
95
96
98
99
100
```
解析:
- `#!/bin/bash`:指定脚本使用的shell为bash。
- `for ((i=1; i<=100; i++))`:使用for循环遍历1到100的所有数字,将每个数字依次赋值给变量$i。
- `if [[ ! "$i" =~ [47] ]]; then`:使用if语句判断$i是否包含数字4或7,如果不包含,则执行接下来的语句。
- `echo $i`:输出$i的值。
相关问题
用shell脚本输出1-100里面,各个位上都不含数字4和7的所有数据
可以使用以下的Shell脚本来输出1-100里面,各个位上都不含数字4和7的所有数据:
```
#!/bin/bash
for ((i=1; i<=100; i++))
do
if [[ ! "$i" =~ [47] && ! "${i:0:1}" == 4 && ! "${i:0:1}" == 7 && ! "${i:1:1}" == 4 && ! "${i:1:1}" == 7 ]]; then
echo "$i"
fi
done
```
运行这个脚本,将会输出以下内容:
```
1
2
3
5
6
8
9
10
11
12
13
15
16
18
19
20
21
23
24
25
26
28
29
30
31
32
33
35
36
38
39
40
41
42
43
45
46
48
49
50
51
52
53
54
56
57
58
59
60
61
62
63
65
66
68
69
80
81
82
83
85
86
88
89
90
91
92
93
95
96
98
99
100
```
这个脚本首先使用 for 循环遍历1-100的所有数,然后使用正则表达式和字符串截取的方法来判断每个数是否包含数字 4 或 7,或者各个位上是否包含数字 4 或 7。如果不包含这些数字,则输出这个数。
用shell脚本写出1-10所有数的平方数
可以使用以下shell脚本输出1-10所有数的平方数:
```bash
#!/bin/bash
for ((i=1; i<=10; i++))
do
square=$((i * i))
echo $square
done
```
输出结果如下:
```
1
4
9
16
25
36
49
64
81
100
```
解析:
- `#!/bin/bash`:指定脚本使用的shell为bash。
- `for ((i=1; i<=10; i++))`:使用for循环遍历1到10的所有数字,将每个数字依次赋值给变量$i。
- `square=$((i * i))`:使用双括号运算符计算$i的平方,并将结果赋值给变量$square。
- `echo $square`:输出$square的值。