как переименовывать и перемещать файлы в соответствии с именами каталогов?

10.04LTS будет поддерживаться до апреля 2013 года на рабочем столе и в апреле 2015 года на сервере. Это 3 и 5 лет поддержки, соответственно. Новые релизы ничего не меняют. С 12.04LTS поддержка будет составлять пять лет на сервере и на рабочем столе, поэтому она будет поддерживаться до апреля 2017 года, хотя планируется выпустить новые выпуски LTS в 2014 и 2016 годах.

0
задан 15 April 2012 в 04:01

2 ответа

Предполагая, что имя файла этих файлов thefilename, вы cd редактировали каталог, содержащий эти каталоги, и вы хотите переместить их в /path/to/dest, следующий цикл оболочки должен выполнить трюк [!d0 ]

for file in */thefilename; do
    echo mv -iv "./$file" "/path/to/dest/${file%/*}"
done

Вы можете запустить это непосредственно в интерактивной оболочке или поместить ее в файл и запустить как скрипт.

Я добавил echo, чтобы сделать его только для печати mv команды. Если результат выглядит корректно, удалите echo и запустите его снова, чтобы он действительно выполнял перемещение.

1
ответ дан 25 May 2018 в 12:41

Если вы используете bash, вы можете сделать следующее:

$ for i in *WhatEverMatchesYourOriginalDirectories*
do
  cd $i
  for j in *
  do
    mv $j ../Target/${i}-${j}
  done
  cd ..
done

Это приведет к перемещению каждого файла в каталогах, соответствующих первому шаблону в каталоге Target.

1
ответ дан 25 May 2018 в 12:41

Другие вопросы по тегам:

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