shell整理28===找规律写shell

(一)观察下图规律写一个shell脚本

例如:

[root@localhost hushuai]# bash 16.sh

0

101

21012

3210123

432101234

54321012345

6543210123456

765432101234567

87654321012345678

9876543210123456789

[root@localhost hushuai]#


shell 代码如下:

#!/bin/bash


>sss

echo 0 >sss

n=10

for i in `seq $(($n-1))`

do

b=`cat sss |sed -n ''$i'p'`

echo $i$b$i >>sss

done

cat sss

(2)给出几个数

10 31 53 77 105 141

找出这几个数的规律并写一个脚本

提示:(他们之间的差值有规律)

shell 代码如下:


#!/bin/bash


>vv

a=10

d=$(($a+21))

echo $a>vv

echo $d >>vv

for i in `seq 10`

do

b=`awk 'BEGIN {printf 20+2^'$i'}'`  #shell的计算能力非常差,只能用awk 

d=$(($d+$b))计算

echo $d >>vv

done

cat vv |xargs


执行结果如下:


[root@localhost hushuai]# bash 19.sh

10 31 53 77 105 141 193 277 425 701 1233 2277

[root@localhost hushuai]#


心得:

所有有规律的东西都能用shell写出来,这俩脚本找到规律都很简单,一定要善于发现

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...