#1
|
|||
|
|||
我想在home的每個目錄下touch 一個檔案
我一直有個困擾,雖然有更好的解決方法,但我希望用我想用的這個方式來解決...
在Linux Server 上,每個Web我都開一個使用者....並有自己的家目錄... 例如 /home/apple /home/phpforum /home/vbb 每個家目錄代表一個網站,該目錄內又有其他的子目錄... 我目前遇到的問題是,若該目錄下沒有 index.htm 訪客可以由Apach 讀取到我的目錄資訊.... 所以我想在 /home 之內的所有目錄中,都 touch 一個 index.htm 的檔案... 想請教!如何利用正規表示法來達到這個目的!
__________________
Gamer.info |
#2
|
|||
|
|||
就寢前發個郵件,順便晃到 domain.club.tw,原來 game.tw 兄已經將問題發在這了。
小弟給您一個提示,game.tw 兄可以先在其他目錄底下作實驗。 如果,要給 /temp 底下每一個子目錄,都 touch 一個 index.html,可以使用如下指令: find /temp -type d -exec touch {}/index.html \; Hope this helps. |
#3
|
|||
|
|||
引用:
我之前一直無法理解的,還是在於 {} 的使用時機... 看了這串表示式,一目了然...但小弟還不到可以自己寫出來的階段, 原本以為用 ls -dR 等等的方式可以搞定.....(後來發現不行) 忘了用find來找目錄較快........... 真的........真的很感謝您
__________________
Gamer.info |
#4
|
|||
|
|||
問題解決了最重要。
很高興幫得上忙。 |
#5
|
|||
|
|||
借題請教一下licheng,
在vbird站上的正規表示法說,{}是重複前一字符n次, 比方說:k{5}就是kkkkk; 在這邊{}是代表什麼? |
#6
|
|||
|
|||
引用:
find找到目錄....再用 touch {find 結果}/index.htm 就可以達到我要目的了
__________________
Gamer.info |
#7
|
|||
|
|||
引用:
不過,在這兒,{} 不是正規表示法。它代表 find 的搜尋結果。類似一個 place holder。 game.tw 兄的解釋,是正確的。 |
#8
|
|||
|
|||
原來如此,
man了一下find和touch還找了RE, 都找不到相關的說明, 那這個{}只能用在find的結果,或是其他指令也可以? 感覺起來這跟重導向符號,例如:|、>,很類似? |
#9
|
|||
|
|||
引用:
man find 應該是可以找到說明才對。 |
#10
|
|||
|
|||
果然沒錯,
在find的說明檔裡的確有, 謝謝licheng和game.tw大大的教學。 |