Shell

Shell 腳本:從一個目錄中刪除或移動與另一目錄中的文件名匹配的文件

  • August 25, 2018

我有一個非常具體和奇怪的問題要解決。我是一名研究助理,我一直在製作大量的數據。在一個目錄中,我轉儲 .pngs 以隨意查看(此處空間有限),在另一個目錄中,我轉儲 .ps 和 .pdf 文件以在乳膠中使用。這一切都是用matlab自動化的。在 .png 文件夾中,我定期刪除了許多我認為沒用的文件,但另一個是一團糟。

如何告訴 unix 遍歷 .ps 目錄,對於每個文件,在 .png 目錄中搜尋匹配的文件名,然後,如果它們不匹配,則將文件移動到不同的目錄(我將最以後可能會刪除)?

這裡有什麼有用的命令嗎?

一種粗略的方法:

for f in /path/to/PDFs/*.pdf; do
   base=$( basename "$f" .pdf )
   if [ ! -f /path/to/PNGs/"$base".png ]; then
       mv "$f" /path/to/garbage/
   fi  
done

引用自:https://unix.stackexchange.com/questions/199727