使用dos2unix批量转换文件
使用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
2.删除整个linux系统中与apache相关的文件:
sudo find /home/test -name "*apache" | xargs rm -rf
只要理解了xargs的功能。
安装相关命令:
sudo apt-get -y install dos2unix
sudo apt-get -y install unix2dos
批量去掉[noeol]
sudo find /home/test -name "*.*" | xargs cat -A
使用dos2unix批量转换文件的更多相关文章
- 【转】使用dos2unix批量转换文件
原文网址:http://kuaile.in/archives/1208 dos2unix是Linux下的一个用户转换格式的程序,由于windows上文件的结束符和linux上的不同,那么在window ...
- dos2unix批量转换的一种方法
Linux本身提供了dos2unix和unix2dos两个命令来实现Windows和Linux文件的转换. 少量文件转换: 对于单个或少量的文件转换,可以直接使用命令,如: dos2unix file ...
- linux下批量转换文件
一.背景 今天遇到windows下文件放置到ubuntu下后,使用vi打开文件,发现每一行结尾总是显示出^M,因此以下是批量转换成linux下格式的方法 二.批量转换成unix下的格式 find . ...
- 使用windows命令和iconv.exe批量转换文件编码
iconv是知名的开源跨平台编码转换库,iconv.exe是iconv库在windows下的命令行工具,iconv.exe的一般用法:iconv.exe -f gbk -t utf-8 gbk.txt ...
- py2.7 批量转换文件为 utf8 编码
source insight 不支持 utf8 ,但是在 linux 上查看的时候是 utf8 编码,就会显示不正常,所以写了个 python 小脚本,可以批量转换 py2.7 #coding:utf ...
- Linux中dos2unix批量转换
有时候遇到多层目录下的文件格式需要转换,dos2unix 没有-r之类的递归指令,所以需要与find还有管道结合. find -type f | xargs dos2unix -o
- java实现 批量转换文件编码格式
一.场景说明 不知道大家有没有遇到过之前项目是GBK,现在需要全部换成UTF-8的情况.反正我是遇到了. eclipse可以改变项目的编码格式,但是文件如果直接转换的话里面的中文就会全部乱码,需要先复 ...
- dos2unix 批量转化文件
在windows和linux双平台下开发,同时也用git作为同步工具,但前期没有注意,导致很多文件使用windows下的换行符CRLF 参考资料了解dos2unix可以转化格式. 但有个问题,虽然可以 ...
- Linux下批量转换文件编码
find -iname "*.java" -exec enca {} + |grep -v ASCI |grep -v -i utf |awk -F':' '{print $1}' ...
随机推荐
- mysql导入数据失败:mysql max_allowed_packet 设置过小
mysql根据配置文件会限制server接受的数据包大小. 有时候大的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...
- ionic+cordova开发!
这里是一些学习的过程中纪录的: 官方网站: http://www.ionic-china.com/ 参考文章: https://blog.csdn.net/xyzz609/article/detail ...
- Comparable 与 Comparator的区别
Comparable & Comparator 都是用来实现集合中元素的比较.排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序 ...
- Spring源码学习之BeanFactory体系结构
一.BeanFactory BeanFactory是Spring IOC容器的鼻祖,是IOC容器的基础接口,所有的容器都是从它这里继承实现而来.可见其地位.BeanFactory提供了最基本的IOC容 ...
- JS原生ajax
原文链接:http://caibaojian.com/ajax-jsonp.html 一.JS原生ajax ajax:一种请求数据的方式,不需要刷新整个页面: ajax的技术核心是 XMLHttpRe ...
- Python爬虫框架Scrapy实例(一)
目标任务:爬取腾讯社招信息,需要爬取的内容为:职位名称,职位的详情链接,职位类别,招聘人数,工作地点,发布时间. 一.创建Scrapy项目 scrapy startproject Tencent 命令 ...
- talib 中文文档(十四):Math Transform Functions 数学变换
Math Transform Functions ACOS - Vector Trigonometric ACos 函数名:ACOS 名称:acos函数是反余弦函数,三角函数 real = ACOS( ...
- talib 中文文档(三):talib 方法大全
Function API Examples Similar to TA-Lib, the function interface provides a lightweight wrapper of th ...
- Linux下的pure-ftp的安装详解
FTP(File Transfer Protocol)是文件传输协议,常用于Internet上控制文件的双向传输.同时,它也是一个应用程序,用户可以通过它把自己PC机与世界各地所运行FTP协议的服务器 ...
- 构造HTTP请求Header实现“伪造来源IP”(转)
原文:http://zhangxugg-163-com.iteye.com/blog/1663687 构造 HTTP请求 Header 实现“伪造来源 IP ” 在阅读本文前,大家要有一个概念,在实现 ...