Windows文本改为Linux文本

tech2022-09-22  73

问题描述:

执行脚本时报错如下:

使用 cat -A  xxx.sh 命令查看发现每行结尾有^M,是因为这个脚本是在Windows下创建的文本文件;

解决办法:  

1. 使用dos2unix命令

但是这个命令在这台服务器上不能使用,于是使用下面这个方法;

sed -e 's/.$//' xxx.sh > xxx.sh 

注:'/015' 是8进制;

执行完命令后, xxx.sh 里面是空的,再把脚本内容粘贴进 xxx.sh ,此时用cat -A  xxx.sh 命令查看发现每行结尾没有^M了,而是正常的Linux文本,行结尾是$号;

如果不想粘贴,可以把改完的写入到另外一个文件,命令如下:sed -e 's/.$//' xxx.sh > yyy.sh ,此时用cat -A  yyy.sh 命令查看yyy.sh行结尾是$号;

除此之外,还有另外一种方法:

cat xxx.sh |tr -d '/015' >yyy.sh

最新回复(0)