2010年4月25日
a18ccms下午遇到一個小問題:檔案目錄結構如下
/dir0-
-/dir1 <—該檔案很大,欲排除
-/dir2 <—該檔案很大,欲排除
-/dir3 <—目标目錄之一
-index.php <—目标檔案之一
………….以下省略N個子目錄和子檔案………….
目錄下很多子目錄,而我需要打包。目标是 /wwwroot 下所有子檔案+/dir3 ,于是那些多餘的子目錄就讓我頭疼,
怎樣在不影響檔案結構的情況下打包呢,搜尋網上,很多人用下面這個方法:
幫助 |
但是并不好,要是排除的部分是多出,要是子目錄過多,語句該要寫多久啊,後來又發現網上說可以直接使用排除參數X
建立檔案excludefiles在目前目錄中,内容為
|
注意:
tar指令裡面的目标檔案是絕對路徑格式,excludefile裡面就也必須是絕對路徑;
tar指令裡面的目标檔案是相對路徑格式,excludefile裡面就也必須是相對路徑;
後來 搜尋找到了
自力部落格的一樣問題的文章說可以用 AWK 于是去搜尋了一下它:
Awk學習筆記發現它提供的語句可以精簡,可以這樣寫:
|
這個語句很好了解:
ls -l 列出所有檔案和目錄;
awk ‘\^-\ {print $8}’ 正則隻保留檔案行,獲得第八列的所有檔案名;
xargs tar 把上一步得到的名稱傳參給tar指令。
一切OK,輕松完成打包喽!