Shell
Shell 腳本:從一個目錄中刪除或移動與另一目錄中的文件名匹配的文件
我有一個非常具體和奇怪的問題要解決。我是一名研究助理,我一直在製作大量的數據。在一個目錄中,我轉儲 .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