天天看點

shell整理(28)===找規律寫shell

(一)觀察下圖規律寫一個shell腳本

例如:

[root@localhost hushuai]# bash 16.sh 

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

找出這幾個數的規律并寫一個腳本

提示:(他們之間的內插補點有規律)

>vv

a=10

d=$(($a+21))

echo $a>vv

echo $d >>vv

for i in `seq 10`

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

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

        echo $d >>vv

cat vv |xargs

執行結果如下:

[root@localhost hushuai]# bash 19.sh 

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

心得:

所有有規律的東西都能用shell寫出來,這倆腳本找到規律都很簡單,一定要善于發現

本文轉自 大雪兒 51CTO部落格,原文連結:http://blog.51cto.com/dingxue/1968403,如需轉載請自行聯系原作者