seq妙用一則

2021-07-29 15:00:21 字數 2777 閱讀 5132

[haoren@im-sj01-server01 gongsi]$seq -f '201110%02g' 1 26

20111001

20111002

20111003

20111004

20111005

20111006

20111007

20111008

20111009

20111010

20111011

20111012

20111013

20111014

20111015

20111016

20111017

20111018

20111019

20111020

20111021

20111022

20111023

20111024

20111025

20111026

等同於 

-s 指定分隔符,預設是換行

​-w 等位補全,就是寬度相等,不足的前面補 0 ​

-f 格式化輸出,就是指定列印的格式

可以不指定起始數值,則預設為 1

另外,不用 seq 的話還可以這樣:

for i in ;do echo $i;done

1 和 10 之間是兩個半形的點​​

​從1迴圈到100的兩種方法

for x in `seq 1 100`;do echo $x;done

for x in ;do echo $x;done

輸出1-100中,不包含數字7,且不能被7整除的數

seq 100 | grep -v "7" | awk '$0%7!=0'

seq -f"%3g" 9 11910

11% 後面指定數字的位數 預設是"%g", 

"%3g"那麼數字位數不足部分是空格

sed -f"%03g" 9 11 這樣的話數字位數不足部分是0

% 前面制定字串

seq -f "str%03g" 9 11

str009

str010

str011

-w 指定輸出數字同寬 不能和-f一起用 

輸出是同寬的-s 指定分隔符 預設是回車

seq -s" " -f"str%03g" 9 11

str009 str010 str011

要指定\t 做為分隔符號

seq -s"echo -e "\t"" 9 11指定\n\n作為分隔符號​​

​​​ seq -s " " 1 10 ​

1 2 3 4 5 6 7 8 9 10​​

seq -s ", " 1 10 ​

1, 2, 3, 4, 5, 6, 7, 8, 9, 10​​

請用linux shell 寫一段指令碼,實現從1..1000中所有偶數的和值   

通過while 迴圈得到需要的結果:

​​start=1;

total=0;

while [ $start -le 1000 ];do

[[ $(($start%2)) == 0 ]]&&total=$(($total+$start));

start=$(($start+1));

done;

echo $total;

​​[chengmo@centos5 ~]$ start=1;total=0;while [ $start -le 1000 ];do [[ $(($start%2)) == 0 ]]&&total=$(($total+$start)); start=$(($start+1));done;echo $total;

​250500​​​

通過 for 迴圈得到結果:​​​

​start=0;

total=0;

for i in $(seq $start 2 1000); do

total=$(($total+$i));

done;

echo $total;

[chengmo@centos5 ~]$ start=0;total=0;for i in $(seq $start 2 1000); do total=$(($total+$i));done;echo $total; 

250500

​​​​​​

比較效能:

[chengmo@centos5 ~]$ time (start=0;total=0;for i in $(seq $start 2 1000); do total=$(($total+$i));done;echo $total;) 250500

real 0m0.016s

user 0m0.012s

sys 0m0.003s

[chengmo@centos5 ~]$ time (start=1;total=0;while [ $start -le 1000 ];do [[ $(($start%2)) == 0 ]]&&total=$(($total+$start)); start=$(($start+1));done;echo $total;) 

250500

real 0m0.073s

user 0m0.069s

sys 0m0.004s

for i in ` seq -f '1704%02g' 1 17` ;do echo -n $i "  " ;mysql -d js

db   -e "select count(*) from jiesuantj_$i;"|awk 'nr>1' ;done 

mysql 版本控制妙用一則

select straight join col name from table1,table2 where 如果在字元 後新增了版本號,僅當mysql的版本等於或高於指定的版本號時才會執行注釋中的語法 create 32302 temporary table t a int 這意味著,如果你的版本...

Excel 應用一則

那就開始做事吧 是想讓它完成這樣乙個功能 計算兩個日期之差.我一開始就在想是不是應該用它提供的函式來解決呢 後來發現沒有提供這個函式.並且這時我連怎麼取函式的引數位置都不清楚,慢慢來,看下別人做的.我先試了一下now 函式,哈哈.成功.太爽了,接下來就是找函式 發現這個函式 datedif star...

JPQL CASE WHEN 寫法一則

其實也沒什麼特別的,就是jpa2中,jpql的解析還是有硬傷啊,害得我摸索了好一陣子。請看 public static final string hql find transaction amount select new foo.bar.service.report.tax.transaction...