我正在尝试编写一个脚本,使用find命令将目录树中的所有文件复制到另一个目录。但是,某些文件与其他文件具有相同的名称。由于我根本不对文件名感兴趣,我认为最简单的解决方案是将副本渐进数字作为名称。 我试过这个命令:
i=0
find . -iname "*.jpg" -exec cp {} $DEST_DIR/$i ; i=$i+1;
然而,这个命令显然不会起作用,因为-exec运行一个子shell,其中没有定义i变量。 有没有人有想法这样做,最好是找到?还有其他更好的方法吗?
答案 0 :(得分:1)
i=0; find . -iname "*.jpg" | while IFS= read -r f; do echo "$f" "$i"; i=$((i + 1)); done
...假设名称中没有空格的文件