Bash

‘Tar’ ‘find’ 的結果,保留目錄結構

  • June 25, 2015

我想**tar作為find命令的結果獲得的所有**.txt***文件,這些文件存在於具有如下樹結構的目錄中:

  • 目錄名
    • 目錄1
      • 文件1.pdf
      • 文件1.txt
    • 目錄2
      • 文件2.pdf
      • 文件2.txt
    • 目錄3
      • 文件3.pdf
      • 文件 3.txt

(文件名只是範例)。

但我想保留目錄結構

什麼命令可以給我一個包含此內容的tar.gz文件?

  • 目錄1
    • 文件1.txt
  • 目錄2
    • 文件2.txt
  • 目錄3
    • 文件 3.txt

您可以使用xargs將命令的輸出作為參數提供給另一個:

find . -iname '*.txt' -print0 | xargs -0 tar zcvf the_tarball.tar.gz

請注意,-print0from find 和-0from xargs 一起工作以正確分隔文件名(因此帶有空格的名稱等不是問題)。

引用自:https://unix.stackexchange.com/questions/170482