看板 Linux 關於我們 聯絡資訊
如題 小弟我是新手 在此虛心求教 昨天研究了一番 假設我的目錄內有 4個檔案1個目錄 ABC1.log ABC2.log ABC3.log unused.log abc 其中abc為資料夾 ABC1.log ABC3.log 這兩個檔案內有 #try 的字串 假設我要保留有ABC開頭檔案且裡面要有 #try字串 其餘皆刪除怎麼做比較好 小弟我研究很久只寫出找到有這兩個條件的檔案以及不符合的檔案 find . -name "ABC*" -exec grep -H "#try" {} \; 找到檔案內有#try 即ABC1.log ABC3.log find . ! -name "ABC*" ! -name "abc " 沒有ABC字串也沒有abc字串的檔案 即unused.log 誠心向板上大大詢問 在此感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.82.82.62 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1556066452.A.8C7.html ※ 編輯: eyway8312 (115.82.82.62), 04/24/2019 08:41:05
rickieyang: for i in `find . -type f ! -name "abc*"`; do 04/24 09:38
rickieyang: if (! grep "#try" $i) the rm -f $i; fi; done 04/24 09:40
rickieyang: if (! grep "#try" $i) then rm -f $i; fi; done 04/24 09:40
eyway8312: 先謝謝r大 我回家試試看研究研究 04/24 09:42
rickieyang: abc 下的檔案要處理嗎? 不需要的話 find 加 -maxdepth 04/24 09:42
rickieyang: 把 $i 改成 "$i" 吧... 避免檔名有空格 04/24 09:44
eyway8312: abc忘記說 是空目錄 04/24 09:44