Linux 下rm + grep 命令刪除除去指定檔案的剩餘所有檔案

來源:互聯網
上載者:User

Linux 下rm + grep 命令刪除除去指定檔案的剩餘所有檔案上一篇 / 下一篇 2010-07-08 10:17:38 / 個人分類:liunx相關查看( 185 ) / 評論( 0 ) / 評分( 0 / 0 )今天下午有個任問我如何刪除一個目錄下的除了想要的檔案之外的所有檔案。我想了想grep和rm配合一下不正好麼。於是經過查閱資料得出了一條命令:過程如下。首先在一個目錄下:zhou@zhou:~/LinuxC/file/test$ ls1 23sdfwe 88888888 aabb ag ghdda
mmm2 3 aaaaaaaa abc asdg llllllll wwwwwzhou@zhou:~/LinuxC/file/test$然後我想刪除除了包含字串aa外所有的檔案,也就是想留下aabb,aaaaaaaa,這兩個檔案,其他的全部刪除下面是我的命令:zhou@zhou:~/LinuxC/file/test$ rm `ls | grep -v "aa"`然後查看一下:zhou@zhou:~/LinuxC/file/test$ lsaaaaaaaa aabbzhou@zhou:~/LinuxC/file/test$所以了,成功了。簡單的解釋一下那條命令吧:rm
刪除後面指定的檔案`ls | grep -v "aa" ` 記得外面是反引號(反引號的位置就在標準鍵盤的數字1的左邊),ls:查看目前的目錄下所有的檔案,使用grep命令過濾一下 grep -v "aa" 就是找出字串中不帶“aa”的。整體再順一下:列出檔案名稱不帶“aa”串的檔案,然後刪除他們。OK。其實說起來簡單,當時我也做了好長時間,因為以前沒怎麼接觸grep,因此一開始我想到的辦法是使用Regex,但是在做的過程中突然發現了grep使個不錯的東西,因此就使用了。上面的命令使刪除帶有“aa”串的檔案,那如果我只想留下檔案aa呢?很簡單zhou@zhou:~/LinuxC/file/test$
rm `ls | grep -v "^aa$" `在aa前面加上^,後面加上$表示結束符的意思,這個就是完全符合了。好了,就這麼多。但願以後能用到這個有用的命令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.