簡體   English   中英

如何刪除不同文件夾中的一組相同的擴展文件

[英]How to remove a group of same extension files in different folders

我想從筆式驅動器中刪除一組具有不同文件夾的不同文件名的相同擴展文件,我嘗試了以下推薦,但它不起作用。

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

有人可以讓我知道從我的Pendrive中刪除文件的確切命令。

你可以寫:

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時,您已經放棄了“文件路徑結束”和“文件路徑中的換行符”之間的區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM