Скопируйте несколько файлов с одинаковым именем из разных мест в одно место.

Скопируйте несколько файлов с одинаковым именем из разных мест в одно место.

Я хочу скопировать несколько файлов с одинаковыми именами из разных мест в одно и то же место (изменив их имена в соответствии с их исходным местоположением).

Например, я хочу скопировать,

/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

Цикл выполняется три раза; каждый раз переменная fruitпринимает одно из трех значений apple, banana, и grape. Для каждого фрукта он копирует исходный файл в целевой файл.

Связанный контент