我在以下路径中有一个目录名称列表
/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。
假设目录为空,我会说......
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有详细的输出。