Движущийся подкаталог к новому родительскому каталогу, где новое имя каталога увеличено 1

Можно попробовать следующее:

currDate=$(date); nextDay=$(date -d "$currDate + 1 day" +"%Y-%m-%d"); echo "$nextDay"
3
13.04.2017, 15:36
1 ответ

В оболочках строки, представляющие собой целые числа в десятичной дроби, рассматриваются как целые числа. Если у вас есть каталог, имя которого содержит только цифры без лидирующих нулей, у вас есть число, и вы можете выполнить по нему арифметику .

for d in 1*; do
  mv "$d/old" "$((d+1))/new"
done

Вы можете сделать скрипт более надежным и выполнить перемещение только в том случае, если подкаталог old действительно существует, и при необходимости создать место назначения.

for d in 1*; do
  if [ -d "$d/old" ]; then
    mkdir -p "$((d+1))"
    mv "$d/old" "$((d+1))/new"
  fi
done

find здесь бесполезен, так как вы не рекурсивно перемещаетесь по подкаталогам.

2
27.01.2020, 21:27

Теги

Похожие вопросы