“考慮不全面”導致的大問題!!!

今天做了個小實驗,由於自己的考慮不全面,導致了大問題的產生!

因爲此問題我在全網幾乎都未找到滿意的答案,所以現在打算分享出來!


問題原因:

#ls 
1.txt 2.txt 3.txt
#find . -type f |xargs -i mv {} {}.bak

在根目錄下有三個.txt的文檔,我想一次性把它更改爲 1.txt.bak  2.txt.bak  3.txt.bak

結果不小心使用瞭如上#find的那條命令!

結果導致整個根目錄下所有的文件(包括隱藏文件)全部添加了.bak

wKioL1k2OXuCOe5YAAAvL0Km9gw127.png

重啓系統後一定會出現問題!!!

嘗試了很多次均失敗告終,Goole上面也沒有發現一個很好的解決方案!

之後想起了寫個小的腳本,搞定,結果寫錯了,多虧了銘哥(Linux大神)幫忙指正,給出了solution!分享如下:

#for f in `find . -type f -name "*.bak"`; do f2=`echo $f|sed -r 's/.bak$//'`; echo $f2;mv $f $f2;  done

總結一下吧:

使用此命令,千萬不能在根目錄下直接操作!,保險起見,一定要輸入特定的後綴名!

例如:

#find . -name '*.txt'| xargs -i mv {} {}.bak


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章