前言
最近在给CentOS系统配置环境变量的时候,因操作不慎把/etc/profile文件给玩坏了,尽管勉强能恢复文件,但在执行生效配置命令 source /etc/profile 报错如下:-bash: $' ': command not found
-bash: $' ': command not found
-bash: $' ': command not found
-bash: /etc/profile: line 11: syntax error near unexpected token `$'{ ''
'bash: /etc/profile: line 11: `pathmunge () {
比较郁闷明明已经恢复原始配置文件了,依然存在报错,使用 cat -v /etc/profile 命令检查一下发现文件中多了大量的Windows下的换行符^M。
解决方案:执行dos2unix /etc/profile将profile文件从Windows格式文件转换为Unix、Linux格式,然后在执行source /etc/profile使之生效,问题解决 ,这也是这篇文章诞生的原因。
安装yum -y install dos2unix unix2dos
语法dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]
选项-k:保持输出文件的日期不变
-q:安静模式,不提示任何警告信息
-V:查看版本
-c:转换模式,模式有:ASCII, 7bit, ISO, Mac, 默认是:ASCII
-o:写入到源文件
-n:写入到新文件
实例:
方法一
最简单的用法就是dos2unix直接跟上文件名:dos2unix file
如果一次转换多个文件,把这些文件名直接跟在dos2unix之后。(注:也可以加上-o参数,也可以不加,效果一样)dos2unix file1 file2 file3
dos2unix -o file1 file2 file3
上面在转换时,都会直接在原来的文件上修改,如果想把转换的结果保存在别的文件,而源文件不变,则可以使用-n参数。dos2unix -n oldfile newfile
如果要保持文件时间戳不变,加上-k参数。所以上面几条命令都是可以加上-k参数来保持文件时间戳的。dos2unix -k file
dos2unix -k file1 file2 file3
dos2unix -k -o file1 file2 file3
dos2unix -k -n oldfile newfile
以上是转换单个文件,如果要转换目录或文件夹的话,请看方法二。
方法二
Linux系统本身提供了dos2unix和unix2dos这两个命令来实现Windows和Linux系统文件的转换,但是dos2unix和unix2dos本身没有提供递归也就是批量修改的方式,这样一来我们就需要借助于xargs命令了。
xargs的命令的作用就是将参数列表转换成小块分段传递给其他命令,借助于xargs,我们可以很简单的实现批量替换;
这里假设我需要替换的文件所在目录为 public/components目录下。find public/components/ -name "*" | xargs dos2unix
其中,*号表示所有文件。
要更改文件格式的后缀为.py ,那么借助于下面的命令就可以轻松的实现批量替换格式:
批量替换为linux文件格式:sudo find public/components/ -name "*.py" | xargs dos2unix
批量替换为dos文件格式:sudo find public/components/ -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
到此这篇dos 转 unix(dos转unix命令)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/31060.html