Linux通過shell實現遞歸列目錄及對文件的處理


之前本子一直是windows 7和Linux雙系統,后來把windows 7換成了windows xp,而xp的試用期過了之后,卻再也進不了xp系統了。我記得windows 7就算過期后,至少系統還能進,只不過黑黑屏而已,但是xp卻是直接連系統都不讓進了。這讓我很不爽,於是,一怒之下,在上周末把硬盤格了,全部換成ext分區,全部裝上Linux。

至於寫這篇隨筆的原因,和上篇隨筆有點關系,在我把vim的一些插件從windows遷移過來時,在打開vim時很自然地報了E492: not an editor command: ^M的錯誤。因為插件中有dos格式的。

我隨便打開一個插件,發現就是dos格式的,如果人工把這些插件轉換成unix格式的話。。。那我今天晚上又不用睡覺了。(PS:昨天晚上因為搞掛了一台機器直接導致我三點多才睡)

記得Linux下有個dos2unix的小工具,但看了下文檔,只支持文件格式的轉換,不支持對目錄的批量轉換。。。

好吧,那看來得自己寫個shell腳本處理了,這對強大的shell來說只是個小case:

#!/bin/bash

function batch_convert() {
for file in `ls $1`
do
if [ -d $1"/"$file ]
then
batch_convert $1"/"$file
else
dos2unix $1"/"$file
#echo $1"/"$file
fi
done
}

batch_convert ~/.vim

保存為sh,然后加上可執行屬性,運行一下,整個.vim文件夾內的所有文件就都被轉換好了。

再打開vim,再也沒有那煩人的E492: not an editor command: ^M錯誤了。

GR的M$,非要搞另類。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM