如何移动多个文件并添加 .pgp 扩展名?

如何移动多个文件并添加 .pgp 扩展名?

我的目录中有 4 个文件,mv 命令不会移动所有文件并添加 .pgp 扩展名。

我希望将其保留在命令行上而不是创建脚本。也许我在这里/谷歌问的问题是错误的。

4 个文件位于/test/-test-1 test-2 test-3 test-4

我已经尝试过了mv /test/test* /test/dir/*.pgp,但它不起作用,因为 *.pgp 不是目录。

是用循环来做到这一点的唯一方法吗?另外,它必须是一个for循环吗?我对 shell 脚本很陌生,不太有信心......

答案1

您可以先重命名文件,然后移动它们:

rename 's/(.*)/$1.pgp/' test*; mv test*.pgp /test/dir

答案2

不是唯一的方法,但最好和最简单的方法确实是循环,最好是 for 循环。这样做很简单:

cd /test    
for file in test*; do
    mv "$file" /test/dir/"$file".pgp
done

就是这样。

答案3

是的,应该使用循环,for循环。

只需两个简单的步骤:

set -- test-{1..4}
for f; do mv "$f" "dir/$f.pgp"; done

相关内容