tar 文件夹并排除所有子文件夹,然后 tar 到特定路径
tar folder and exclude all subfolders, then tar to specific path
是否有tar命令排除子目录,但包含文件夹根目录中的每个文件,然后将它们放在特定路径?
我想省略每个子目录,只保留文件 max-min depth = 1
我已经尝试了以下方法,但它不起作用:
tar -cvf r.tar --exclude='~/root-dir/[subdir, ... ]' ~/Desktop
root-dir/
|
├── subdir/
│ ├── subdir/
│ │ └── a.txt
│ |
│ ├── subdir/
│ │ └── b.txt
│ │
│ └── c.txt
├── subdir/
│ ├── subdir/
│ │ └── d.txt
│ │
│ ├── subdir/
│ │ └── subdir/
│ │ └── subdir/
| | └── subdir/...
|
|
└── apple.txt
└── banana.image
└── ...
首先,使用find
查找符合条件的文件:
find ~/Desktop -type f -maxdepth 1
然后通过管道传输到 tar、using -T
( or --files-from
) to tell tar
to get the list of files from stdin
:
find ~/Desktop -type f -maxdepth 1 | \
tar -T - cvf r.tar
是否有tar命令排除子目录,但包含文件夹根目录中的每个文件,然后将它们放在特定路径?
我想省略每个子目录,只保留文件 max-min depth = 1 我已经尝试了以下方法,但它不起作用:
tar -cvf r.tar --exclude='~/root-dir/[subdir, ... ]' ~/Desktop
root-dir/
|
├── subdir/
│ ├── subdir/
│ │ └── a.txt
│ |
│ ├── subdir/
│ │ └── b.txt
│ │
│ └── c.txt
├── subdir/
│ ├── subdir/
│ │ └── d.txt
│ │
│ ├── subdir/
│ │ └── subdir/
│ │ └── subdir/
| | └── subdir/...
|
|
└── apple.txt
└── banana.image
└── ...
首先,使用find
查找符合条件的文件:
find ~/Desktop -type f -maxdepth 1
然后通过管道传输到 tar、using -T
( or --files-from
) to tell tar
to get the list of files from stdin
:
find ~/Desktop -type f -maxdepth 1 | \
tar -T - cvf r.tar