0

我想从笔式驱动器的不同文件夹中删除一组具有不同文件名的相同扩展文件,我尝试了以下推荐,但它不起作用。

$sudo find /media/<Pendrive> *.jpg | rm -rf *

有人可以让我知道从我的 Pendrive 中删除文件的确切命令吗?

4

1 回答 1

2

你可以写:

sudo find '/media/<Pendrive>' -name '*.jpg' -exec rm -f '{}' ';'

好的,如果我将所有文件路径导出到文本文件,现在我想使用 awk 推荐删除文件,在这种情况下是否有可能。

如果文本文件名为all_file_paths.txt,那么您可以编写:

while IFS= read -r file_to_delete ; do
  if [[ "$file_to_delete" == *.jpg ]] ; then
    sudo rm -f "$file_to_delete"
  fi
done < all_file_paths.txt

(命令IFS= read -r file_to_delete从标准输入中读取一行——在这种情况下来自标准输入——all_file_paths.txt并将该行存储在变量中$file_to_delete)。

请注意,如果任何文件路径包含换行符,此方法将出现异常。没有可靠的解决方法,因为您在创建all_file_paths.txt.

于 2012-11-27T21:42:22.157 回答