Re: [問題] 關於用寫shell script執行wget去抓檔案

看板Linux作者 (跑很快的驢子)時間13年前 (2011/05/26 21:22), 編輯推噓0(006)
留言6則, 4人參與, 最新討論串3/3 (看更多)
超級感謝的~ 我稍微修改了一點點 把兩個for loop的邊界值 調整了一下 i的for loop改成1..73 j的for loop改成 0..99 這樣就有符合 我要抓檔的需求了 超級感謝你的~~ 我正在努力的搞懂 你寫的架構 謝謝你~ ※ 引述《windincloud (駭客先生不要來~~)》之銘言: : #!/bin/bash : for i in {0..73} : do : if [ ${i} -lt 10 ]; then 這邊一個疑惑 我看書 書上是寫"$i" 那跟你寫的${i}有出入嗎?我用書的不給跑 以及我剛剛才發現 原來我都寫成字串比較的運算符了...原來數值比較要用 -lt 另外想請問一下 關於shell內字串怎麼連接阿? 是例如宣告一個變數dir 然後直接向你這樣連接就可以了嗎? 不需要任何連接子?(拍謝 php太習慣.了ˊ ˋ ) : dir=0${i}0 : else : dir=${i}0 : fi : mkdir ${dir} : cd ${dir} : for j in {0..99} : do : if [ ${j} -lt 10 ]; then : wget http://xxx.xxx.xxx/${dir}/00${j}.html : else : wget http://xxx.xxx.xxx/${dir}/0${j}.html : fi : done : cd .. : done : 看看這樣可不可以囉~ : ※ 引述《yihinwind (跑很快的驢子)》之銘言: : : 請問最近剛開始在學習shell script但是有一些還是不會寫 : : 我目前有一個網址的資料.因為網站上沒有資料夾瀏覽的權限 : : 目前已經推測出來資料夾的檔案內容結構 : : 分別為 http://xxx.xxx.xxx/'$i'/0'$j'.html : : (這個部分我不確定字串跟變數連接怎麼用 php有連接子. shell就不了解了) : : $i 從 010 ~ 730 ($i+=10) : : $j 從 01 ~ 99 ($j+=1) : : 我想要在script內就寫好能夠自動建立目錄 : : 首先進入010目錄後 把檔案抓好後 離開010目錄 : : 開始進入020 繼續把檔案抓好 我有先寫了一部分shell 只是有點卡住了 : : 進入目錄以及離開目錄的判斷式 不知道該寫在哪邊.... : : 想請各位給點指導一下 -- 受夠了在Windows上,病毒滿天飛, 電腦常常中毒重灌嗎? 你一定要來試試看OpenSuse! 完全免費,安裝速度快, 操作介面美觀大方,系統管理簡便, -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.6.26.41

05/26 21:29, , 1F
${var} 避免與後面接續的字串混在一起而無法辨識變數
05/26 21:29, 1F

05/26 21:31, , 2F
連接的部分就視為字串就好 ex: i=1; ${i}?${i} => 1?1
05/26 21:31, 2F

05/26 21:31, , 3F
原來如此 我了解了 我來把這個小技巧註記到我的書上
05/26 21:31, 3F

05/26 21:33, , 4F
不過要注意一下萬用字元被shell展開的問題,詳細可估狗
05/26 21:33, 4F

05/26 23:33, , 5F
bash可以直接{010..070}這樣
05/26 23:33, 5F

05/28 14:22, , 6F
可以配合 printf 指令取得你要的 補 0 的數字
05/28 14:22, 6F
文章代碼(AID): #1DtbGVe- (Linux)
文章代碼(AID): #1DtbGVe- (Linux)