亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 解壓文件到各自所在的目錄 [打印本頁]

作者: xiexiexielei    時間: 2013-04-18 19:48
標題: 解壓文件到各自所在的目錄
本帖最后由 xiexiexielei 于 2013-04-18 19:49 編輯

各位大俠,菜鳥求助求助。
有好多的文件夾,每個文件夾中都有好多個壓縮文件,我想把解壓縮文件到各自所在的目錄下,這個應該怎么解決。坐等。謝謝謝謝^_^
作者: cao627    時間: 2013-04-18 20:22
如果所有的壓縮文件都是一種壓縮格式 比如gzp,都有擴展名: .gz
找到包含這些文件的最上層目錄比如:/test
  1. find /test/ -name '*.gz' -exec gzip -d {} \;
復制代碼

作者: xiexiexielei    時間: 2013-04-18 22:44
本帖最后由 xiexiexielei 于 2013-04-18 23:05 編輯

回復 2# cao627
如果文件數(shù)太多的話,用-exec不太好吧。我用xargs寫的,我寫的你幫我看看吧。find /test/ '*.zip' | xargs -i unzip {} -d ()  ,后邊小括號內(nèi)應該寫各自的所在的文件夾名稱的,但是我不會寫。求指教。。呵呵。

   
作者: 心若寒江雪    時間: 2013-04-19 01:59
量不大就寫個shell吧
作者: xiexiexielei    時間: 2013-04-19 14:43
回復 4# 心若寒江雪


  慚愧啊,shell不會寫腳本。幾乎沒有基礎。
作者: cao627    時間: 2013-04-19 16:23
@xiexiexielei
  1. find /test/ -name '*.zip' | xargs -i dirname {} | xargs -i  unzip {}/*.zip  -d {}
復制代碼

作者: xiexiexielei    時間: 2013-04-19 16:34
本帖最后由 xiexiexielei 于 2013-04-19 16:35 編輯

回復 6# cao627

謝謝謝謝了啊 。這樣可以呢。終于解決了縈繞心頭的一個疙瘩啊。非常感謝。具體各個語句是什么意思怎么實現(xiàn)的,我自己先試著看看吧。不會了再向你請教。

   
作者: Shell_HAT    時間: 2013-04-19 16:49
本帖最后由 Shell_HAT 于 2013-04-19 18:43 編輯

回復 5# xiexiexielei
  1. for file in `find /test/ -name '*.zip'`; do
  2.     DIR=`dirname "$file"`
  3.     #unzip "$DIR/*.zip" -d "$DIR"
  4.     unzip "$file" -d "$DIR"
  5. done
復制代碼

作者: cao627    時間: 2013-04-19 16:57
@Shell_HAT我怎么覺得有點問題,同一目錄下的兩個文件,要執(zhí)行兩次*zip沒必要吧?
作者: 心若寒江雪    時間: 2013-04-19 18:24
for file in `find /test/ -name '*.zip'`; do

    DIR=`dirname "$file"`

    unzip "$DIR/$file" -d "$DIR"

done


作者: cao627    時間: 2013-04-19 18:30
@心若寒江雪
for file in `find /test/ -name '*.zip'`; do

    DIR=`dirname "$file"`

    unzip "$DIR/$file" -d "$DIR"  

done

作者: Shell_HAT    時間: 2013-04-19 18:43
回復 9# cao627


    是的,已更改。
作者: cao627    時間: 2013-04-19 18:51
不知道同一目錄下有很多.zip文件時 設(文件數(shù)為n) 有沒有必要
find /test/ -name '*.zip' | xargs -i dirname {} | sort | uniq
然后再做unzip    *.zip ,避免多做做 (n-1) 次 無意義的  unzip    *.zip

但sort和uniq又耗費資源。

作者: xiexiexielei    時間: 2013-04-20 21:31
cao627 發(fā)表于 2013-04-19 18:30
@心若寒江雪
for file in `find /test/ -name '*.zip'`; do

@Shell_HAT  
這個find的時候已經(jīng)包含路徑了,所以紅色的部分$dir/(unzip那一句)應該不用加了吧。
謝謝各位大神,學習了。哈哈。
作者: xiexiexielei    時間: 2013-04-20 22:03
回復 11# cao627

@
    @Shell_HAT  
這個find的時候已經(jīng)包含路徑了,所以紅色的部分$dir/(unzip那一句)應該不用加了吧。
謝謝各位大神,學習了。哈哈。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2