問題一:擷取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
1
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
我遇到的能想到的就這些,歡迎大家給我留言!提出不同的解決方案和遇到過的問題,非常感謝!
本文出自 “老徐的私房菜” 部落格,謝絕轉載!