0

这是一个简单的 for 循环,其中 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 - 牧师住宅谋杀案

空格阻止 $variable 工作。我试过 "$variable" 但这不起作用。

所以我将 aaa.txt 更改为

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

那也没有用。

如何“cd”到带空格的目录?

4

1 回答 1

0

你要:

#!/bin/bash

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

防止分工

检查如何逐行读取文件

于 2020-06-19T00:37:54.370 回答