日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】使用dos2unix批量转换文件

發布時間:2025/3/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】使用dos2unix批量转换文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文網址:http://kuaile.in/archives/1208

dos2unix是Linux下的一個用戶轉換格式的程序,由于windows上文件的結束符和linux上的不同,那么在windows上編寫的文件或者是腳本在Linux上就會遇到類似于下面的錯誤:

?
1 /bin/sh^M: bad interpreter: No such file or directory

出現上述的錯誤真實因為結束符的不同,要解決上述問題,只需要轉換一下就行了

方法一:針對于單個文件或少量文件:

使用vi 編輯sh腳本或者其他的腳本文件,然后按ESC進入vi的命令行模式,輸入下面的命令:

?
1 :set fileformat=unix

當然如果要將文件格式設定為dos文件格式,也就是windows的格式,那么輸入下面的命令就行了

?
1 :set fileformat=dos

修改完成后,使用下面的命令查看文件的格式類型:

?
1 :set ff

缺點:只適合少量文件,當文件數較多時,工作量巨大

方法二:批量更改linux文件格式

?

和方法一類似的,Linux本身提供了dos2unix和unix2dos這兩個命令來實現windows和linux文件的轉換,

但是。dos2unix和unix2dos本身沒有提供遞歸也就是批量修改的方式,這樣一來我們就需要借助于xargs命令了

xargs的命令的作用就是將參數列表轉換成小塊分段傳遞給其他命令,借助于xargs,我們可以很簡單的實現批量替換;

這里假設我需要替換的文件所在目錄為 /home/test目錄下,要更改文件格式的后綴為.py ,那么借助于下面的命令就可以輕松的實現批量替換格式:

批量替換為linux文件格式:

?
1 sudo find /home/test -name "*.py" | xargs dos2unix

批量替換為dos文件格式:

?
1 sudo find /home/test -name "*.py" | xargs unix2dos

優點:批量替換,工作量小, 總的來說,方法二借助于 管道符和xargs來實現的批量命令,將方法二修改一下就可以實現很多的批量操作,

比如:

1.批量刪除整個linux系統中后綴為.tmp的文件;那么命令可以這么寫:

?
1 sudo find /home/test -name "*.tmp" | xargs rm -f

2.刪除整個linux系統中與apache相關的文件:

?
1 sudo find /home/test -name "*apache" | xargs rm -rf

只要理解了xargs的功能。你會發現xargs的方便與快捷之處,這里我也是拋磚引玉罷了

總結

以上是生活随笔為你收集整理的【转】使用dos2unix批量转换文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。