Как я могу войти в каталоги в for l oop, когда в каталогах есть пробелы? - PullRequest
0 голосов
/ 19 июня 2020

Вот простой для l oop, где aaa.txt - это список каталогов.

#!/bin/bash

for variable in $(cat aaa.txt)
do
cd $variable && mv *.avi /home/xxx/Downloads/Marple && rm -rf $variable
done

Но каждый каталог выглядит примерно так:

Agatha Christies Marple 1x02 - The Убийство в доме священника

Пробелы не позволяют переменной $ работать. Я пробовал «$ переменную», но это не сработало.

Поэтому я изменил aaa.txt на

Agatha\ Christies\ Marple\ 1x02\ -\ The\ Murder\ At\ The\ Vicarage

Это тоже не сработало.

Как я могу 'cd' в каталоги с пробелами?

1 Ответ

0 голосов
/ 19 июня 2020

Вы хотите:

#!/bin/bash

while IFS= read -r dir; do
    cd "$dir" && mv *.avi /home/xxx/Downloads/Marple && rm -rf "$variable"
done < aaa.txt

для предотвращения разделения работы .

Проверить Как я могу прочитать файл построчно

...