我们有以下二进制文件组合(它们是分割后的)
HADOOPa
HADDOPb
HADOOPc
HADDOPd
HADOOPe
HADDOPf
HADOOPab
HADOOPac
HADOOPbc
现在我们想加入他们的行列。由于我们还有其他以 开头的文件HADOOP
,因此必须排除它们;例如
HADOOP-3235.tar
HADOOP_cluster.txt
因此我们只需要将HADOOP[a-z]
文件加入 tar 即可。
我正在考虑执行以下操作:
cat HADOOP{a..z} > HADOOP.tar.gz
这种表达方式不规则的方法有效吗?
答案1
{a..z}
是一个大括号扩展,它可能不完全是您想要的:它将扩展到从a
到 的所有字符z
,而不考虑相应的文件是否存在。您应该使用HADOOP[a-z]
全局相反,因为这只会扩展到与磁盘上的文件相对应的文件名:
cat HADOOP[a-z] > HADOOP.tar.gz
如果您有超过 26 个分割文件,您可以重复[a-z]
:
cat HADOOP[a-z][a-z] > HADOOP.tar.gz
您可以通过添加更多的 glob 来获得更精确的结果;例如,如果您有 80 个文件:
cat HADOOP[a-z] HADOOP[a-b][a-z] HADOOPc[a-d] > HADOOP.tar.gz