当前位置:网站首页 > 编程语言 > 正文

dos 转 unix(dos转unix命令)



cfc429f536d9cdfb2eefe6636056cc65.png

前言

最近在给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。

8d75985df9795468a5a2e2669530f6a0.png

解决方案:执行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命令)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 27930报文解析(8583报文解析工具)2024-12-27 16:18:05
  • 越狱源吧(最全的越狱源)2024-12-27 16:18:05
  • vb系列的游戏(vb系列游戏是什么)2024-12-27 16:18:05
  • 安装虚拟机蓝屏重启不了(安装虚拟机蓝屏重启不了什么原因)2024-12-27 16:18:05
  • ue将dos转换为unix(ue dos转unix)2024-12-27 16:18:05
  • 单片机程序破解(单片机程序破解后再烧录的芯片还有密码吗?)2024-12-27 16:18:05
  • webflux入门(webfluxmono)2024-12-27 16:18:05
  • nsa是哪个港口缩写(inmaa是哪个港口代码)2024-12-27 16:18:05
  • qq号需要实名认证码(qq号需要实名认证码怎么办)2024-12-27 16:18:05
  • 打印机共享修复工具(共享709打印机错误怎么解决)2024-12-27 16:18:05
  • 全屏图片