是否可以在不保留 Linux 结构的情况下压缩文件?
Is it possible to compress files without keeping the structure in Linux?
我的目录结构如下:
A0
├── A1
│ ├── A1_B1
│ │ ├── A1_B1_1.docx
│ │ ├── A1_B2_2.pptx
│ ├── A1_B2
│ │ └── A1_B2_C1
│ │ ├── A1_B2_C1_D1
│ │ │ ├── A1_B2_C1_D1_1.docx
│ │ │ └── A1_B2_C1_D1_2.docx
│ │ └── A1_B2_C1.xlsx
├── A2
└── A0.txt
我想创建一个仅包含文件的 .7z 文件。我不想保留文件夹。我试过 this answer and this answer 但它们在 Linux 中不起作用。
是否可以用 7z
来做,或者我应该先将文件解压到一个目录,然后再压缩。
如果由于某种原因您引用的答案不起作用,请改用此方法。
创建目录
mkdir flat_dir
Link 所需文件夹中的所有文件在 flat_dir
中递归,对我来说所需文件夹是 cpptest
.
for full_path_file in $(find ../cpptest -type f)
do
echo "$full_path_file"
filename=$(echo "$full_path_file" | rev | cut -d '/' -f 1 | rev)
echo "$filename"
ln -s -T "$full_path_file" "$filename"
done
压缩文件
7z a test.zip -l ~/flat_dir
我的目录结构如下:
A0
├── A1
│ ├── A1_B1
│ │ ├── A1_B1_1.docx
│ │ ├── A1_B2_2.pptx
│ ├── A1_B2
│ │ └── A1_B2_C1
│ │ ├── A1_B2_C1_D1
│ │ │ ├── A1_B2_C1_D1_1.docx
│ │ │ └── A1_B2_C1_D1_2.docx
│ │ └── A1_B2_C1.xlsx
├── A2
└── A0.txt
我想创建一个仅包含文件的 .7z 文件。我不想保留文件夹。我试过 this answer and this answer 但它们在 Linux 中不起作用。
是否可以用 7z
来做,或者我应该先将文件解压到一个目录,然后再压缩。
如果由于某种原因您引用的答案不起作用,请改用此方法。
创建目录
mkdir flat_dir
Link 所需文件夹中的所有文件在 flat_dir
中递归,对我来说所需文件夹是 cpptest
.
for full_path_file in $(find ../cpptest -type f)
do
echo "$full_path_file"
filename=$(echo "$full_path_file" | rev | cut -d '/' -f 1 | rev)
echo "$filename"
ln -s -T "$full_path_file" "$filename"
done
压缩文件
7z a test.zip -l ~/flat_dir