3、方法3,當前文件夾中結合使用grep和xargs來處理文件名:
ls | grep -v keep | xargs rm #刪除keep文件之外的所有文件
說明: ls先得到當前的所有文件和文件夾的名字, grep -v keep,進行grep正則匹配查找keep,-v參數決定了結果為匹配之外的結果,也就是的到了keep之外的所有文件名,然后 xargs用於從 標准輸入獲得參數 並且傳遞給后面的命令,這里使用的命令是 rm,然后由rm刪除前面選擇的文件。
好處:使用了grep來正則表達式來匹配文件名字,可以一次保留多個文件,從而進行更加准確的處理。
4、方法4,使用find命令代替ls,改進方法3從而能夠處理制定文件夾的文件:
find ./test/ | grep -v keep | xargs rm #刪除當前test文件夾中keep文件之外的所有文件
說明,用grep而不用find -name選取名字,因為find選取名字時比較麻煩,對正則表達式支持不夠,無法排除指定文件名。