是否可以在不保留 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