dos2unix批量转换shell脚本

Linux本身提供了dos2unix和unix2dos两个命令来实现Windows和Linux文件的转换。

少量文件转换:

对于单个或少量的文件转换,可以直接使用命令,如:

dos2unix filename1, filename2

大量文件转换:
当需要转换的文件非常多的时候,使用上述方式书写起来非常麻烦;还有就是当参数过长的时候,dos2unix命令可能会出现参数过长,无法解析的错误(一般情况下不会发生这种错误,可以使用“getconf ARG_MAX”命令查看参数的最大长度)。这时就用到了exec命令。exec命令可以把批量的参数拆分为一个一个的参数,多次执行exec之后的命令。如将/apps/cws目录下的所有的以.sh结尾的文件批量转换: 

find /apps/cws -name "*.sh" -exec dos2unix {} ;       (注意:一定要有{},标示参数;以“;”结尾; {} 和之间一定要有一个空格)

也可以使用xargs命令,不过xargs命令需要和管道符结合使用,并且xargs命令将所有的传入的数据当作一个参数处理。

find /apps/cws -name "*.sh" | xargs dos2unix
原文地址:https://www.cnblogs.com/peteremperor/p/14578658.html