使用dos2unix批量转换文件

dos2unix是Linux下的一个用户转换格式的程序,由于windows上文件的结束符和linux上的不同,那么在windows上编写的文件或者是脚本在Linux上就会遇到类似于下面的错误:

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

出现上述的错误真实因为结束符的不同,要解决上述问题,只需要转换一下就行了

方法一:针对于单个文件或少量文件:

  • 使用vi 编辑sh脚本或者其他的脚本文件,然后按ESC进入vi的命令行模式,输入下面的命令:
:set fileformat=unix
  • 当然如果要将文件格式设定为dos文件格式,也就是windows的格式,那么输入下面的命令就行了
:set fileformat=dos
  • 修改完成后,使用下面的命令查看文件的格式类型:
:set ff

**缺点:**只适合少量文件,当文件数较多时,工作量巨大

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

​ 和方法一类似的,Linux本身提供了dos2unix和unix2dos这两个命令来实现windows和linux文件的转换,

但是。dos2unix和unix2dos本身没有提供递归也就是批量修改的方式,这样一来我们就需要借助于xargs命令了

xargs的命令的作用就是将参数列表转换成小块分段传递给其他命令,借助于xargs,我们可以很简单的实现批量替换;

这里假设我需要替换的文件所在目录为 /home/test目录下,要更改文件格式的后缀为.py ,那么借助于下面的命令就可以轻松的实现批量替换格式:

批量替换为linux文件格式:

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

批量替换为dos文件格式:

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

**优点:**批量替换,工作量小, 总的来说,方法二借助于 管道符和xargs来实现的批量命令,将方法二修改一下就可以实现很多的批量操作,

比如:

  1. 批量删除整个linux系统中后缀为.tmp的文件;那么命令可以这么写:
sudo find /home/test -name "*.tmp" | xargs rm -f
  1. 删除整个linux系统中与apache相关的文件:
sudo find /home/test -name "*apache" | xargs rm -rf

只要理解了xargs的功能。

安装相关命令:

sudo yum -y install dos2unix
sudo yum -y install unix2dos

批量去掉[noeol]

sudo find /home/test -name "*.*" | xargs cat -A

使用dos2unix批量转换文件相关推荐

  1. 用dos2unix批量转换文件

    执行shell脚本报错 未预期的符号`$'do\r'' 附近有语法错误 '行6:`do 用dos2unix批量转换文件 dos2unix介绍 dos2unix是Linux下的一个用户转换格式的程序,由 ...

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

    原文网址:http://kuaile.in/archives/1208 dos2unix是Linux下的一个用户转换格式的程序,由于windows上文件的结束符和linux上的不同,那么在window ...

  3. shell 批量转换文件编码

    相信大家在平时的跨平台编程中碰到过文件编码问题,比如在Windows代码字符编码方式是GB2312,然而转到Linux却只支持utf-8,虽然对代码部分没啥影响,但是很多中文注释部分,却一片乱码,很让 ...

  4. 使用 windows命令和iconv.exe批量转换文件编码

    使用 windows命令和iconv.exe批量转换文件编码    iconv是知名的开源跨平台编码转换库,iconv.exe是iconv库在windows下的命令行工具,iconv.exe的一般用法 ...

  5. 使用windows命令和iconv.exe批量转换文件编码

    使用windows命令和iconv.exe批量转换文件编码 iconv是知名的开源跨平台编码转换库,iconv.exe是iconv库在windows下的命令行工具,iconv.exe的一般用法:ico ...

  6. python实现批量转换文件编码(批转换编码示例)

    这篇文章主要介绍了python实现批量转换文件编码示例,指定文件编码.目录或扩展名即可进行转换,大家参考使用吧 # -*- coding:utf-8 -*- __author__ = 'walksky ...

  7. python批量转换文件编码

    python批量转换文件编码   3年之前   python 今天在 eclipse 中导入了个之前的 swing 项目,结果跑起来后乱码,检查代码发现竟然一部分 java 文件是 utf-8 编码, ...

  8. 一个批量转换文件编码的python脚本

    一个批量转换文件编码的python脚本 需要将工作目录下的文件进行转码,开始的编码是GBK的,需要将其转换为utf-8的.文件较多,手动转换肯定不行,用Python写个脚本来实现.找到一段代码参考: ...

  9. python实现文件编码转换_Python实现批量转换文件编码的方法

    本文实例讲述了Python实现批量转换文件编码的方法.分享给大家供大家参考.具体如下: 这里将某个目录下的所有文件从一种编码转换为另一种编码,然后保存 import os import shutil ...

  10. node 获取文件编码,批量转换文件编码

    node 批量转换文件编码 解决方案 使用 npm@jschardet 获取文件编码信息(并非 100%准确) 通过 npm@iconv-lite 结合文件二进制流,重新识别文件内容 核心代码如下: ...

最新文章

  1. 通过httpmodule获取webapi返回的信息
  2. C语言经典算法 11-20
  3. OAuth简介(包含简明使用教程)
  4. javascript获取系统时间时区_详解Linux操作系统修改时间和修改时区的方法
  5. 距离度量方式(马氏距离,欧式距离,曼哈顿距离)
  6. Google Maps API 申请方式变更为APIs Console, android手机申请方式
  7. iOS --- [持续更新中] iOS移动开发中的优质资源
  8. [转] 丢了自己,要记得找回了~~我们80后的那些忧伤
  9. 互联网公司忽悠员工的黑话,套路太深了。。
  10. 微服务与架构师的个人见解
  11. 妇产科学习题---有答案
  12. 关于手机传感器,你需要了解的一些(一)
  13. nodeJS打包安装和问题处理
  14. C#获取汉子对应的拼音(首字母大写或小写,全拼音含首个字母大写)
  15. 一个高速交警的忠告(转)
  16. ncm 网络_HS-NCM超高速网卡
  17. 开篇 | 想成为技术牛人?先搞定网络协议!
  18. Unreal Engine 4(UE4)下载教程
  19. ERP与MRP、MRPⅡ的主要区别
  20. 75个顶级开源安全应用(1)

热门文章

  1. SpringMVC框架 -- ModelAndView的用法
  2. ubuntu18.04播放MP4
  3. 逍遥单机卡系统服务器ip,逍遥剑侠情缘私服架设源码+APP端+搭建教程
  4. 关于 The SqlParameter is already contained by another SqlParameterCollection 报错的解决方案
  5. 银河麒麟v10下载(服务器版 桌面版) - 2022-09-08更新
  6. 基于SSM的网上商城(上)
  7. Alexa交叉编译(avs-device-sdk)
  8. 【PR 2021】Adobe Premiere 2021 软件下载及安装教程
  9. 内外网共存环境迁移Exchange 2010至Exchange 2016
  10. Photoshop插件-增加细节-脚本开发-PS插件