瀏覽單個文章
goddesschi
*停權中*
 

加入日期: Mar 2007
文章: 186
再請教大家一個問題<(_ _)>
如果透過linux的(du)把資料夾大小/擋案大小抓出來後,能夠用哪個方式把數字的字串過濾出來

舉例

執行
du -s 'folder name or file name'

結果
292980 folder name or file name


我想把292980撈出來再丟給其他的變數
我應該如何把292980過濾出來?

我試過用grep,只能把數字的部份過濾出來而且正則表示不能設定的項ultraedit那般複雜
其餘還嘗試過expr,但是只能針對特定長度的字串取出,因為我不知道長度,如果能支援正則表式
或許還能抓出來
引用:
([0-9]+)\s+\S+


請大家指點一條明路

-----------------------

另外和正則表示無關的一個問題請教一下大家,如果說shell ecript裡面的某個給rar用參數我想依照某個邏輯做內插後丟給shell script的變數,再把那個變數餵給rar用,一般來說大家建議怎麼做

邏輯=
一個excel的table,這個table會有大小對應參數的類似50*2的一個table
每一列就是大小對應參數這樣
根據某資料夾或擋案大小抓到table裡面的某個參數,如果沒有就做內插曲小數點後2位

因為牽涉到linux的指令(du)和運算邏輯(excel)我的想法是把參數echo後用丟給C++(cin)再用二維陣列的方式把table對應的再值取出要不然就做內插(這點還沒有仔細想能不能做到),最後再把結果print出來再丟給shell script的一個變數再讓rar調用這個變數

ex 根據excel的資料寫出一個二維陣列
1000 1.5
2000 2.
3000 3
4000 3.25

input 3200的情況output就是 3+[(3.25-3)/1000]*200
input 3000的情況output就是 3

不知道有沒有人給我點意見,這樣做好嗎?(可行嗎?)還是有其他的建議

老實說我覺得這個問題很麻煩,我光是把字料夾大小dump出來都很研究了很久,又牽涉到C++的陣列恐怕要研究一陣子 = =
 
舊 2014-07-06, 02:38 PM #42
回應時引用此文章
goddesschi離線中