cp можно копировать из нескольких источников, но не могу копирование в несколько мест назначения. Видеть man cp для получения дополнительной информации.
Единственная известная мне команда bash, которая может копировать / сохранять в несколько мест назначения, - это tee.
Вы можете использовать его в вашем случае следующим образом:
tee ~/folder1/test.txt ~/folder2/test.txt < ~/test.txt
Обратите внимание, что tee также записывает входные данные в стандартный вывод (stdout). Поэтому, если вы этого не хотите, вы можете предотвратить это, перенаправив стандартный вывод на /dev/null как следует:
tee ~/folder1/test.txt ~/folder2/test.txt < ~/test.txt >/dev/null
Обратите внимание, что это приведет к перезаписи каждого файла в dir1 и dir2 с file.txtсодержание, в дополнение к его копированию. Чтобы только копировать file.txt не затрагивая другие файлы в этих каталогах, сообщите find действовать только с каталогами:
пытается скопировать два файла (~/test.txt и ~/folder1) к месту назначения folder2. (И если ~/folder2 существует и является каталогом, у вас будет предупреждение "пропущенный каталог").
Если вы хотите сделать несколько копий файла test.txt, вы должны использовать цикл или несколько команд...
for i in ~/folder1 ~/folder2; do cp ~/test.txt $i; done
(...и будьте осторожны, если у вас есть пробелы, встроенные в имена файлов, вам понадобятся кавычки).
Чтобы скопировать целые каталоги, вы должны использовать -r вариант:
for i in ~/folder1 ~/folder2; do cp -r ~/folder3 $i; done
это создаст ~/folder1/folder3 и ~/folder2/folder3 со всеми включенными файлами.
здесь найду буду искать dir1 два уровня глубиной, или вы можете оставить -maxdepth параметр для поиска dir1 во всех папках текущего каталога и под ним.
Комментарий @ManuJärvinen может показаться легкомысленным, но он поднимает важный момент. Зачем усложнять свой сценарий? Две отдельные строки с единственной копией гораздо более удобочитаемы, чем все остальные ответы. Я не часто использовал “тройник”, поэтому, если бы я увидел принятый ответ в скрипте, я бы понятия не имел, что он делает. Я признаю, что ответы изобретательны, но в реальном сценарии вам нужны простые.