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