将多个具有相同文件名的文件从不同位置复制到同一位置

将多个具有相同文件名的文件从不同位置复制到同一位置

我想将多个具有相同文件名的文件从不同位置复制到同一位置(通过根据原始位置更改它们的名称)。

例如,我想复制,

/apple/test.txt
/banana/test.txt
/grape/test.txt

进入

/fruits/apple_test.txt
/fruits/banana_test.txt
/fruits/grape_test.txt

在linux下有没有办法做到这一点?

答案1

您可以使用for循环:

#!/bin/bash

for fruit in apple banana grape; do
    cp "/${fruit}/test.txt" "/fruits/${fruit}_test.txt"
done

循环执行3次;每次变量fruit取三个值applebanana和之一grape。对于每个水果,它将原始文件复制到目标文件。

相关内容