作者eyway8312 (湘緣)
看板Linux
標題[問題] 刪除特定檔案&內容外檔案
時間Wed Apr 24 08:40:50 2019
如題 小弟我是新手 在此虛心求教 昨天研究了一番
假設我的目錄內有 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