gpt4 book ai didi

Linux:从多个目录复制一个文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:58:32 26 4
gpt4 key购买 nike

我有一种情况,我想从 linux 下的数千个目录中复制一个特定文件“transaction.log”,并构建一个包含这些相同特定文件的 tar 文件。

例子:我在/user/foo/dirs/下有数千个目录

/user/foo/dirs/dir1
/user/foo/dirs/dir2
/user/foo/dirs/dir3
..
..
..
/user/foo/dirs/dir50000

在每个目录中,有几个文件和一个 transaction.log 文件。我想从所有 50000 个目录中复制这个 transaction.log 文件并将它们存储在一个 tar 文件中。

如果有办法,你能帮帮我吗?

谢谢。

解决方案:

好的,我发现了这个问题,因为有一些指向其他磁盘的符号链接(symbolic link)发现工作不正常。解决方案是将 -follow 选项与 find 一起使用以跟踪符号链接(symbolic link)。谢谢。我使用以下命令

找到。 -follow -type f -name "transaction.log"| tar --create --files-from ->/foo/Stats_transaction_Object.tar.gz

最佳答案

带有 {} 的还不错,但它会为每个文件运行一个单独的 tar 进程。这是一个单独的 tar 进程,因此速度要快得多:

find /where/ever -name transaction.log -print | tar --create --files-from - > /somewhere/else/foo.tar

关于Linux:从多个目录复制一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12149554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com