作者 主題: 請問?如何透過shell script將資料一個一個放進陣列中  (閱讀 8651 次)

0 會員 與 1 訪客 正在閱讀本文。

cjp

  • 懷疑的國中生
  • **
  • 文章數: 30
    • 檢視個人資料
請教一下,如何透過shell script將底下的資料一個一個放進陣列中

例如有一個輸出
111 222 333 444 555 666
777 888 999 aaa bbb ccc
ddd eee hhh kkk nnn ppp

經過處理後
p1=111
p2=222
......


煩請指導!! :-?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17464
    • 檢視個人資料
    • http://www.study-area.org
恩?
那 777 又是 p 多少?

cjp

  • 懷疑的國中生
  • **
  • 文章數: 30
    • 檢視個人資料
sorry沒有寫的很清楚,就是依序
$p1=111
$p2=222
....
$p7=777
....
$p13=ddd
依此類推

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17464
    • 檢視個人資料
    • http://www.study-area.org
array_1=($(cat file))
echo ${array_1[0]} 就是 111
echo ${array_1[6]} 就是 777

其他, 你自己改吧.

cjp

  • 懷疑的國中生
  • **
  • 文章數: 30
    • 檢視個人資料
感謝:D 網man的熱情回覆 :lol:
cat似乎是處理檔案方面的,不知道可否直接處理一個程式的執行結果?或是要用其他方式
ex:
array=snmpwalk -v 2c -c XXX IP ifxxxxx
會有一堆oid值在array[0]
回報一下我的結果,有誤請多多指導,經由netman給我的靈感
array=(`snmpwalk -v 2c -c XXX IP ifxxxxx`)或是($(snmpwalk -v 2c -c XXX IP ifxxxxx))都可以
就會array[0]=111,array[1]=222.....
看了study-area裡的學習程式和幾個網站的shell教學內容都很豐富,
但類似這樣的方式很少提到,想請問大家有沒有推薦的書籍?
對於shell裡的(){}[]的用法和變化實在很多很"頭大"可否幫忙規類一下各種符號的用槍時機和用槍要領 :lol: ,感謝~~

shell script新手上路中.....

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17464
    • 檢視個人資料
    • http://www.study-area.org
shell 的文章我寫過一篇, 你先看看:
http://www.study-area.org/tips/shell.txt

cjp

  • 懷疑的國中生
  • **
  • 文章數: 30
    • 檢視個人資料
收到!!~~~~謝謝囉