gpt4 book ai didi

bash - 批量复制和重命名多个文件

转载 作者:行者123 更新时间:2023-11-29 08:51:49 24 4
gpt4 key购买 nike

我想递归地批量复制和重命名目录中的所有文件。

我有这样的东西:

/dir/subdir/file.aa
/dir/subdir/fileb.aa
/dir/filec.aa

并希望所有文件都这样复制:

/newdir/1.xx
/newdir/2.xx
/newdir/3.xx
/newdir/4.xx

../newdir/nn.xx

我如何在 bash 中执行此操作?

最佳答案

find -name "*.aa" | cat -n | while read n f; do
cp "$f" newdir/"$n".xx
done

将使用(几乎)任何有效的文件名(除非你有换行符,这也是允许的)。

如果你不局限于 shell,python 中的另一个解决方案可能是

#!/usr/bin/env python

if __name__ == '__main__':
import sys
import os
import shutil
target = sys.argv[1]
for num, source in enumerate(sys.argv[2:]):
shutil.move(source, os.path.join(target, "%d.xx" % num))

然后可以称为

<script name> newdir *.aa

关于bash - 批量复制和重命名多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7000688/

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