小编Alg*_*tic的帖子

如何根据文件名将多个文件解压到多个子目录中

我有一个包含大约 1900 万个文件的 tar 文件(没有文件夹)

0000107b869682826003b04a40e6394.txt
00029237482s8923789423ud8923892.txt
2c002y8378723887292377a79237649.txt
f598238209237408238742308374038.txt
Run Code Online (Sandbox Code Playgroud)

我如何解压所有文件,使它们出现在以文件的前四个字符命名的子目录中。因此,对于上面的例子中,它会创建00002c02以及f599目录和每个将具有以下文件。

0000\0000107b869682826003b04a40e6394.txt
0002\00029237482s8923789423ud8923892.txt
2c02\2c002y8378723887292377a79237649.txt
f598\f598238209237408238742308374038.txt
Run Code Online (Sandbox Code Playgroud)

我已经尝试创建一个脚本来遍历 tar 文件中的文件,创建一个目录并从 tar 中提取该文件并将其放入目录中。这适用于少量文件,但是当 tar 有数百万个时,提取需要很长时间。

linux bash command-line tar

3
推荐指数
1
解决办法
170
查看次数

标签 统计

bash ×1

command-line ×1

linux ×1

tar ×1