
我想從這個命令中獲得結果:
find . -type f -size +200M -exec ls -lh {} \;
將內容儲存到某種形式的變數中,然後刪除找到的檔案。
我怎樣才能做到這一點?
答案1
您不需要find
僅儲存 in 變數的結果才能刪除檔案(除非您有一些未提及的特定要求),因為提供了可以為您執行此操作的find
特殊參數:-delete
find . -type f -size +200M -print -delete
作為ls
不建議解析命令的輸出。
如果您確實想解析 返回的文件find
,您需要執行以下操作:
find . -type f -size +200M -print0 | xargs -0 rm -v
由於您無法將 shell 變數保留為空字符,並且您不想在空格上中斷腳本(這可能會導致巨型蟲子),解決方法可能是將清單儲存在臨時檔案中或序列化資料(例如base64
)。