面試中shell指令碼的數字輸出問題

來源:互聯網
上載者:User

問題一:擷取1-9的順序數字
shell方法一: 

for i in `seq 1 9`;do echo $i;done      類似 seq 1 9 或者 seq 9

123456789

shell方法二:

for ((i=1; i <= 9 ; i++)); do echo $i;done      類似 for i in {1..9}; do echo $i; done

123456789

python方法三:

指令碼內容

#!/usr/bin/pythonfor i in range(1,10):print ('%s') % i

結果輸出

123456789

sehll方法四:

seq -s " " -w 9

1 2 3 4 5 6 7 8 9

shell方法五: 

echo {1..9}

1 2 3 4 5 6 7 8 9

問題二:擷取如下的數字輸出
1 2 3 4 5
1 2 3 4
1 2 3
1 2

shell方法:

#!/bin/basha=({1..5})for i in {5..1}doecho ${a[*]:0:$i}done

問題三:擷取如下數字輸出
55555
4444
333
22
1

shell方法:

#!/bin/bashfor ((i=5; i>=1; i-- ))dofor ((j=1; j<=i; j++ ))doecho -n "$i"doneecho ""done

問題四:輸出26 27 28 29 30 31 32 33 34 35

echo 2{6..9} 3{0..5}

26 27 28 29 30 31 32 33 34 35

問題五:倒序輸出數字9-1

seq -s " " -w 9 -1 1

9 8 7 6 5 4 3 2 1

問題六:輸出0-36之間的奇數

seq -s " "  1 2 36

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35

問題七:輸出0-36之間的偶數

seq -s " "  0 2 36

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36

問題八:輸出以三位元字表示的0-100

方法一:printf "%03d " {0..100}; echo

000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100

方法二:echo {000..100}

000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100

方法三: seq -s " " -w 0 100

000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100

方法四: awk 'BEGIN { for (i=0; i<=100; i++) printf("%03d ", i) }'

000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100

方法五:for ((i=0; i<=100; i++)); do printf "%03d " $i; done

000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100

如果只是輸出1-100,還可以使用

yes | grep y | sed  100q | awk '{printf( "%03d ", NR )}'; echo   豎著輸出:yes | nl -ba | tr ' '0| sed 100q| cut -b 4-6

001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100

我遇到的能想到的就這些,歡迎大家給我留言!提出不同的解決方案和遇到過的問題,非常感謝!

本文出自 “老徐的私房菜” 部落格,謝絕轉載!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.