如何压缩具有特定名称的多个文件夹?

How to compress multiple folders with certain name?

我有以下文件夹,

   (Project) [Usr@hpc FOB]$ ls
    exec_train.sh          FOB_RE2250_BS4ES025.py                 network_checkpoint_FOB_RE2250_BS2ES05
    FOB_RE1150.py          FOB_RE2250_BS4ES05.py                  network_checkpoint_FOB_RE2250_BS2ES1
    FOB_RE1200.py          FOB_RE2250_BS4ES1.py                   network_checkpoint_FOB_RE2250_BS4ES025
    FOB_RE2250_BS05ES1.py  FOB_RE2250.py                          network_checkpoint_FOB_RE2250_BS4ES05
    FOB_RE2250_BS05ES2.py  FOB_RE50.py                            network_checkpoint_FOB_RE2250_BS4ES1
    FOB_RE2250_BS1ES1.py   network_checkpoint_FOB_RE2250_BS05ES1  
    FOB_RE2250_BS2ES05.py  network_checkpoint_FOB_RE2250_BS05ES2 
    FOB_RE2250_BS2ES1.py   network_checkpoint_FOB_RE2250_BS1ES1

如何将所有 network_checkpoint_FOB.... 压缩成一个 .tar.gz 存档?

我知道我可以手动使用 $ tar -czf FOB.tar.gz network_checkpoint_FOB_RE2250_BS1ES1 network_checkpoint_FOB_RE2250_BS05ES1 ... 但这接缝很麻烦。我认为应该有一种方法可以使用字符串匹配,但我一直没能找到一个清晰简洁的解决方案。

您可以在 Bash 中使用通配符 *:

$ tar -czf FOB.tar.gz network_checkpoint_FOB*

Bash 自动将 network_checkpoint_FOB* 表达式扩展为 space 分隔匹配的 file/folder 名称。