linux 利用管道刪除檔案

2022-03-31 06:13:24 字數 752 閱讀 7480

例:如果乙個資料夾裡面有檔案(text1 text2 text2 測試1 測試2 測試3)如果你想刪除資料夾下的測試1,測試2,測試3檔案該怎麼辦呢?當然我們也可以cd到此資料夾下面rm每個檔案,但是這樣作的代價太大了,如果有上百個此類檔案呢?那豈不是要執行一百次rm操作?

首先我們需要搜尋此資料夾下的所有檔案,得到資料夾下所有的檔名,理所當然的使用ls指令了;用ls指令把資料夾所有的檔案搜尋出來之後就開始搜尋你想要刪除的那類檔案了;

然後我們開始分析我們需要刪除檔案有什麼特性,你會發現我們刪除的檔案第乙個字元是漢字,而不是英文本母,這就好辦了;通常正規表示式 "a-z「 用來表示從a到z的字元,"a-z"表示從a到z的字元;如果表示非字元呢?理所當然的用「^」來表示非邏輯了。所以 [^a-za-z]即是表示非字元了。如果你用此正規表示式來搜尋你不會得到你想要的結果的,因為你沒有指明該非字元的位置,也就是說 [^a-za-z] 表示任意位置不為字元都可以被列出來;正規表示式中 "^" 也可以用來表示行首,"$"用來表示行尾,我們在[^a-za-z]前加上乙個^字元即可。即:ls | grep '^[^a-za-z]'  (grep是用來搜尋字串的命令)

還有乙個辦法就是使用反引號 ` 此符號位於tab鍵上方,此符號的功能是替換,把乙個命令的標準輸出插在乙個命令列的任何位置;so      rm -r ` ls | grep '^[^a-za-z]' `  依然可以達到想要的效果。需要注意的是grep後面的單引號 ' '是為了忽略所有的特殊字元;詳細內容見[linux]——linux shell 中的反引號,單引號,雙引號

Linux利用i節點刪除亂碼檔案

linux刪除亂碼檔案 當檔名為亂碼的時候,無法通過鍵盤輸入檔名,所以在終端下就不能直接利用rm,mv等命令管理檔案了。但是我們知道每個檔案都有乙個i節點號,我們可以考慮通過i節點號來管理檔案。首先,我們要取得檔案的i節點號。這個可以通過ls i選項獲得得,也可以通過ll i 來獲得。root lo...

Linux利用lsof命令恢復刪除的檔案

lsof命令 lsof命令用於檢視你程序開打的檔案,開啟檔案的程序,程序開啟的埠 tcp udp 找回 恢復刪除的檔案。是十分方便的系統監視工具,因為lsof命令需要訪問核心記憶體和各種檔案,所以需要root使用者執行。在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問常規資料,...

Linux檔案操作 利用C語言刪除某個目錄下的檔案

利用c語言刪除目錄下檔案 最近這段時間工作內容是關於linux下的簡單檔案操作,以前對於linux系統下的檔案操作函式都不是太熟悉,經過這次實踐,對這些函式使用有了一定的了解。如何建立檔案,讀寫檔案,這些簡單的我想大家應該是比較熟悉的,我所介紹的是如何遍歷某個目錄,並且刪除該目錄下的檔案 可以指定字...