Grep

如何通過管道將 ls 傳遞給 grep,並刪除由 grep 過濾的文件?

  • December 9, 2015

我想刪除我的主文件中的一些包,但文件名太長(google-chrome-stable_current_i386.deb)。因此,我決定使用命令ls|grep chrome|rm將文件通過管道傳遞給 grep 以過濾掉 chrome 文件,然後將其刪除。它沒有用,所以我想看看我怎麼能做到這一點。

這幾乎讓我畏縮了。

  1. 您可能希望停止將獵槍對準您的腳。基本上,任何類型的解析都將比已建立的方法(如or globsls)更複雜且更容易出錯find [...] -exec
  2. 除非有人為您安裝了巨魔發行版,否則您的 shell 已經Tab完成。只需鍵入rm google並按Tab。如果沒有立即完成,Tab請再次按下以查看匹配文件的列表。鍵入文件名的更多字元以縮小範圍,直到完成,然後執行命令。
  3. 管道!=參數。標準輸入是一個二進制數據流,可以非同步輸入到命令中。參數是空格分隔的字元串,在執行命令時僅傳遞一次且僅傳遞一次。這些很少可以互換。

引用自:https://unix.stackexchange.com/questions/247924