Файлы Mv, перечисленные в текстовом файле, находятся в каталоге

Файлы Mv, перечисленные в текстовом файле, находятся в каталоге

Это мой первый вопрос :) Я новичок в написании скриптов на bash, но неплохо владею python. У меня есть каталог с кучей файлов и текстовый файл, содержащий подмножество имен файлов в каталоге. Я пытаюсь написать скрипт, который будет читать этот txt-файл, выбирать файлы, перечисленные в txt-файле из каталога, и перемещать их на один каталог выше.

Это может показаться достаточно простым, но их сотни, поэтому я пытаюсь автоматизировать! Любая помощь или руководство будут оценены.

решение1

Предполагая, что список содержит полные имена файлов и файлы находятся в той же папке, что и список, вот команда:

while IFS= read -r file; do mv "$file" ../"$file"; done < listoffiles.txt
  • while ...; do ...; doneоператоры цикла
  • read fileобъявить переменнуюfile
  • mvдвигаться
  • $file ../$fileисточник - пункт назначения. ..Означает «каталог на один уровень выше» (например, /home/user/documentsваш текущий каталог, /home/userбудет вашим..
  • listoffiles.txtваш файл, содержащий список.

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