steve Asked: 2015-08-20 07:28:09 +0800 CST2015-08-20 07:28:09 +0800 CST 2015-08-20 07:28:09 +0800 CST 删除存储在文件中的目录列表 772 我在以下路径中有一个目录名称列表 /home/list/list.txt 目录都在以下路径 /home/directory/ 如何使用命令行删除列表中包含的目录? delete 4 个回答 Voted meuh 2015-08-20T07:50:17+08:002015-08-20T07:50:17+08:00 从...开始 xargs -I{} echo rm -fr /home/directory/{} </home/list/list.txt 这只是 echo 的命令,如果可以,请删除 echo。 Best Answer fedorqui 2015-08-20T07:30:10+08:002015-08-20T07:30:10+08:00 假设目录是空的,我会说...... while IFS= read -r directory do #rmdir /home/directory/"$directory" echo rmdir /home/directory/"$directory" done < /home/list/list.txt 一旦你看到echo你想要的作品,取消注释rmdir。 这会按顺序循环遍历 的内容/home/list/list.txt并将每一行的值存储在 中$directory。然后,它执行rmdir操作。 如果名称包含空格,请注意使用双引号以防止出错。和在如何逐行(IFS=和/或逐字段)读取文件(数据流、变量)?,read -r 如果目录不为空并且您完全确定自己在做什么,请使用rm -r. 然后你可以添加-f强制(再次:如果你确定)或-v有一个详细的输出。 user323419 2015-08-20T09:12:44+08:002015-08-20T09:12:44+08:00 你对 Python 还好吗? from os import system lines = open("/home/list/list.txt", 'rb').readlines() for i in range(0, len(lines)): currentline = lines[i] rmcommand = "rm -r " + currentline.strip('\n') system(rmcommand) 这将获取列表,将行拆分为数组,然后为数组中的每个索引发出命令。是为了摆脱尾随的strip换行符,如果存在的话。 A.B. 2015-08-20T07:36:29+08:002015-08-20T07:36:29+08:00 awk在简单的单行中使用 awk '{system ("rm -r /home/directory/\""$0"\"")}' /home/list/list.txt 该命令遍历输入文件中的条目并rm通过创建命令system。
从...开始
这只是 echo 的命令,如果可以,请删除 echo。
假设目录是空的,我会说......
一旦你看到
echo
你想要的作品,取消注释rmdir
。这会按顺序循环遍历 的内容
/home/list/list.txt
并将每一行的值存储在 中$directory
。然后,它执行rmdir
操作。如果名称包含空格,请注意使用双引号以防止出错。和在如何逐行(
IFS=
和/或逐字段)读取文件(数据流、变量)?,read -r
如果目录不为空并且您完全确定自己在做什么,请使用
rm -r
. 然后你可以添加-f
强制(再次:如果你确定)或-v
有一个详细的输出。你对 Python 还好吗?
这将获取列表,将行拆分为数组,然后为数组中的每个索引发出命令。是为了摆脱尾随的
strip
换行符,如果存在的话。awk
在简单的单行中使用该命令遍历输入文件中的条目并
rm
通过创建命令system
。