删除存储在文件中的目录列表

ste*_*eve 4 delete rm

我在以下路径中有一个目录名称列表

/home/list/list.txt
Run Code Online (Sandbox Code Playgroud)

目录都在以下路径

/home/directory/
Run Code Online (Sandbox Code Playgroud)

如何使用命令行删除列表中包含的目录?

meu*_*euh 11

从...开始

xargs -I{} echo rm -fr /home/directory/{} </home/list/list.txt
Run Code Online (Sandbox Code Playgroud)

这只是 echo 是要执行的命令,如果没问题,请删除 echo。


fed*_*qui 6

假设目录为空,我会说......

while IFS= read -r directory
do
   #rmdir /home/directory/"$directory"
   echo rmdir /home/directory/"$directory"
done < /home/list/list.txt
Run Code Online (Sandbox Code Playgroud)

一旦你看到echo你想要的作品,取消注释rmdir.

这将依次遍历 的内容/home/list/list.txt并将每一行的值存储在 中$directory。然后,它执行rmdir操作。

如果名称包含空格,请注意使用双引号以防止错误。的IFS=read -r公解释如何可以读取的文件(数据流,变量)行由线(和/或场逐场)?,


如果目录不为空并且您完全确定自己在做什么,请使用rm -r. 然后,您可以添加-f强制(再次:如果您确定)或-v有详细的输出。