Я использую программу для маркировки музыки, которая генерирует список .txt пропущенных (немаркированных) папок, которые обрабатываются.
Я просто хочу, чтобы иметь возможность взять этот список (который имеет полный путь для каждой папки) и переместите эту указанную папку где-нибудь /media/skipped/
Я не смог найти команду du или find, как это сделать ... И мои возможности в CLI и в
Так спасибо, если кто-то может дать мне направление в моем поиске или какую-нибудь команду использовать ...
Изменить:
Хорошо ... Ты действительно потрясающий ... благодаря всем своим быстрым ответам. Да, каждая строка - это путь (на самом деле есть строка перед каждым временем импорта, которую я стираю, и до того, как путь говорит «пропущенная папка», что я запускаю команду «Найти и заменить» на коврике мыши. Таким образом, остаются только пути, по одному на каждую строку)
Edit2: Работает решение от @Steeldriver. Мне просто нужно изменить далее .txt. Это сообщение может быть помечено как [Решено], я не знаю, как это сделать. Спасибо всем.
Вы можете использовать такую команду:
while read line; do mv "$line" /media/skipped/; done < directory_list.txt
Я предполагаю, что каждая строка входного файла содержит одну запись в каталоге.
xargs удобен для этого:
xargs -d '\n' mv -t /destination/dir < file.txt
Вы можете использовать цикл for так:
for i in `cat file.txt`; do cp -r "$i" /media/skipped/" && rm -r "$i"; done
file.txt - это сгенерированный файл, поэтому вам нужно подставить правильное имя.