中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
linux shell下除了某個文件外的其他文件全部刪除的命令
# rm -rf !(file1|file2) 

Linuxrm

一、Linux下刪除文件和文件夾常用命令如下: 刪除文件: rm file
刪除文件夾: rm -rf dir
需要注意的是, rmdir 只能夠刪除 空文件夾。 二、刪除制定文件(夾)之外的所有文件呢?
1、方法1,比較麻煩的做法是:
復制需要保留的文件到其他文件夾,然后將該目錄刪除, 然后將需要保留的移動 回來。 mv keep ../ #保留文件(夾) keep
rm -rf #刪除當前文件夾里的所有文件 mv ../keep ./ #將原來的東西移動回來
2、方法2,需要在當前文件夾中進行:
rm -rf !(keep) #刪除keep文件之外的所有文件
rm -rf !(keep1 keep2) #刪除keep1和keep2文件之外的所有文件
3、方法3,當前文件夾中結合使用grep和xargs來處理文件名: ls grep -v keep xargs rm #刪除keep文件之外的所有文件
說明: ls先得到當前的所有文件和文件夾的名字, grep -v keep,進行grep正則匹配查找keep,-v參數(shù)決定了結果為匹配之外的結果,也就是的到了keep之外的所有文件名,然后 xargs用于從 標準輸入獲得參數(shù) 并且傳遞給后面的命令,這里使用的命令是 rm,然后由rm刪除前面選擇的文件。
好處:使用了grep來正則表達式來匹配文件名字,可以一次保留多個文件,從而進行更加準確的處理。
4、方法4,使用find命令代替ls,改進方法3從而能夠處理制定文件夾的文件:
find ./test/ grep -v keep xargs rm #刪除當前test文件夾中keep文件之外的所有文件
說明,用grep而不用find -name選取名字,因為find選取名字時比較麻煩,對正則表達式支持不夠,無法排除指定文件名。
5、方法5,直接使用find命令刪除其他文件:
find ./ -name '[^k][^e][^e][^p]*'  -exec rm -rf {} \; #刪除keep以外的其他文件。 find ./ -name '[^k][^e][^e][^p]*'  xargs rm -rf  #刪除keep以外的其他文件。推薦!
說明:上面第二行的代碼效率高些,原因在于刪除多個文件時 -exec會啟動多個進程來處理,而xargs會啟動一個rm進程來處理。
關于find 執(zhí)行命令的效率和借用xargs啟動的命令效率的比較,詳情請參考:http://www.linuxsir.org/main/?q=node/137
Linux文件查找命令find,xargs詳述  http://www.linuxsir.org/main/?q=node/137 本文轉(zhuǎn)載自:http://blog.sina.com.cn/s/blog_70ffb5c501011rrk.html

rm刪除除去指定文件的剩余所有文件  (rm 反向刪除)

zhou@zhou:~/LinuxC/file/test$ ls
23sdfwe 88888888  aabb ag   ghdda    mmm
      aaaaaaaa abc  asdg  llllllll wwwww
zhou@zhou:~/LinuxC/file/test$

然后我想刪除除了包含字符串a(chǎn)a外所有的文件,也就是想留下aabb,aaaaaaaa,這兩個文件,其他的全部刪除
下面是我的命令:

zhou@zhou:~/LinuxC/file/test$rm `ls | grep -v"aa"`
zhou@zhou:~/LinuxC/file/test$ ls
aaaaaaaa  aabb
zhou@zhou:~/LinuxC/file/test$
所以了,成功了。
簡單的解釋一下那條命令吧:rm 刪除后面指定的文件
`ls | grep -v "aa" ` 記得外面是反引號(反引號的位置就在標準鍵盤的數(shù)字1的左邊),
ls:查看當前目錄下所有的文件,使用grep命令過濾一下grep -v "aa" 就是找出字符串中不帶“aa”的。

整體再順一下:列出文件名不帶“aa”串的文件,然后刪除他們。OK。
其實說起來簡單,當時我也做了好長時間,因為以前沒怎么接觸grep,因此一開始我想到的辦法是使用正則表
達式,但是在做的過程中突然發(fā)現(xiàn)了grep使個不錯的東西,因此就使用了。

上面的命令使刪除帶有“aa”串的文件,那如果我只想留下文件aa呢?很簡單

zhou@zhou:~/LinuxC/file/test$rm `ls | grep -v"^aa$" `
在aa前面加上^,后面加上$表示結束符的意思,這個就是完全匹配了。
好了,就這么多。但愿以后能用到這個有用的命令
轉(zhuǎn)自:http://blog.sina.com.cn/s/blog_67e34ceb01014930.html

linux 刪除其他文件

http://zhidao.baidu.com/link?url=uvHfrb3kSnM_8p5ILhZyc39U0h3md-Ncrm3iaygeYTLU-zjthNBlqO674VulVGTnPiNcl2nj7wo5vn08N4481_

求教 linux centos我想刪除某目錄中文件名不符合"*20100330*"這樣規(guī)則的文件應該怎么刪除?

假設目錄名為myTest且為當前目錄的下一級目錄,使用如下命令即可:
cd ./myTest && rm `ls | grep -v '20100330'` && cd ..進入myTest目錄,刪除文件后返回當前目錄。grep的-v參數(shù)表示反向選擇。一般使用rm刪除文件的時候會有確認提示,如果不要確認,直接強制刪除,可以使用rm的-f參數(shù)。

其他1條回答

find ./ -type f \! -name "*20100330*" -exec rm -rf {} \;

如何反向選擇文件并刪除

http://bbs.csdn.net/topics/390077765

案例:一個文件夾下我想刪除 除了abc文件 之外的所有文件,命令怎么寫(linux下)

find -maxdepth -type -not -name 'abc' -exec rm '{}' ';'

ls grep -v abc xargs -i rm -rf {}

rm -f `ls grep -v abc`
如果文件很多的情況下,不要用這種方法……
要用2樓的方法……

mv abc /tmp
rm *
mv /tmp/abc .

反向顯示文件

使用ls命令僅僅顯示當前目錄不包括.的文件.

ls加grep過濾的方式:ls -al | grep -v '\.'(ls --ignore=.* -al也可實現(xiàn))。

在打開extglob模式下(缺省是打開的),ls也可以實現(xiàn),而且更加靈活.

shopt -u extglob #關閉
shopt -s extglob #打開

ls -al !(*.*)
ls -al -d !(*.*)



----------------------------------------------

補充:grep -v同時排除多個文件或目錄

排除掉aaaa和排除bbbb,使用如下代碼:
grep -v 'aaaa\|bbbb' 
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
(轉(zhuǎn))Linux下查看文件和文件夾大小 刪除日志
Linux 中xargs 用法
【日常小記】linux中強大且常用命令:find、grep
linux下xargs命令用法詳解
如何在Linux上使用xargs命令
linux xargs命令
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服