У меня есть два рабочих каталога, каждый из которых состоит из нескольких папок (имя этих папок одинаково для обоих каталогов).Скопируйте файлы с помощью bash
from=/home/cmoon/OR5P3_4nax
to=/home/cmoon/total_decomp
Поскольку имена каждой папки в $from
соответствуют этим папкам в $to
мне нужно скопировать какой-либо файл (md.in
) из одной папки в другую с помощью:
for sim in ${from}/OR5P3_* ; do
if [[ -d $sim ]]; then
title=$(basename "$sim")
pushd $sim
cp md.nc ${to}/${title}/md3.nc
popd
fi
done
Здесь я использую ${title}
, чтобы убедиться, что md.nc
будет скопирован из каждой исходной папки в каталоге dir1 с таким же именем в каталоге dir2:
e.g /${from}/lala1 -> /${to}/lala1
e.g /${from}/lala2 -> /${to}/lala2
e.g /${from}/lala10 -> /${to}/lala10
Правильно ли этот скрипт?
Как добавить сообщение для печати в сценарий, чтобы увидеть, с какой именно (я думаю, используя PWD) папку.
использование 'ср -V' для подробного вывода. – arco444