2016-10-20 49 views
0

目前,我用這遞歸經歷的目錄和文件提取一級目錄CLI

unrar e -r *.rar 

要提取的文件,但是這把一切都在我的根文件夾unraring。目前的結構

/HomeFolder 
    /Nextlevel 
     /RarFolder 
      rarfile.rar 

我所要的輸出是

/HomeFolder 
    /Nextlevel 
     raroutput.ext 

如何將我改變我的命令來做到這一點?

回答

0

嘗試使用以下方法:

find /HomeFolder -type d -name 'RarFolder' -printf '%h\n' | xargs -I{} sh -c 'cd {}; unrar e -r *.rar' 

它搜索在 '/ HomeFolder' 所有嵌套 'RarFolder' 子目錄,從子目錄中包含運行你的的unrar命令 'RarFolder'(即「/ HomeFolder/Nextlevel')。


要文件提取到一個父目錄,包含「* .rar程序」文件,命令可被調整爲:

find /HomeFolder -type f -name '*.rar' -printf '%h\n' | xargs -I{} sh -c 'cd {}/..; unrar e -r *.rar' 
+0

Rarfolder僅僅是一個例子,NextLevel和Rarfolder具有未知的名稱。我只是需要所有rars提取1個目錄上面的rar文件是 –

+0

@BrianJ我調整了我的答案爲這種情況下 – agg3l

+0

謝謝!////////// –