gpt4 book ai didi

linux - 将文件分类到同名文件夹中的 Bash 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 10:21:06 25 4
gpt4 key购买 nike

所以我一直在尝试将其整合在一起。使用了不同的方法,也找到了一些部分答案,但我在这里找到的答案都不起作用或只回答了部分问题或类似问题..

我有一个文件夹,多个文件具有这种结构:

nameXX.tar.gz
md5nameXX.txt
debugnameXX.txt

nameYY.tar.gz
md5nameYY.txt
debugnameYY.txt

等等...

依此类推,您可以看到文件名中唯一发生变化的部分是 XX、YY 等

我需要创建一个脚本,将所有匹配 XX、YY 等的文件移动到同名文件夹中。

例如,我想移动所有的,

nameXX.tar.gz ,
md5nameXX.txt,
debugnameXX.txt
All those would move into a folder named nameXX

详细来说,这些是备份快照。每个备份快照创建 3 个文件。 buckup-TIMESTAMP.tar.gz ; md5backup-TIMESTAMP.tXT; debugbackup-TIMESTAMP.txt。我只需要一个脚本,将所有 3 个文件移动到名为 backup-TIMESTAMP 的同一文件夹中。简历中的 YY 或 XX 代表不同的时间戳。 –

谢谢你的帮助

最佳答案

我没有做复杂的检查,但至少这会让你从一些事情开始:

for name in `find . -name "*.tar.gz" | xargs sh -c 'basename $1 .tar.gz' dummy`
do
echo "Processing $name"
mkdir $name
find . -name "$name*" -type f -exec mv {} $name \;
done

此代码假定您有文件 .tar.gz,按其名称创建文件夹并将所有文件从该文件夹开始移动。

关于linux - 将文件分类到同名文件夹中的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43871403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com