php windowcrlf和unix,如何在Bash脚本中将DOS / Windows换行符(CRLF)转换为Unix换行符(LF)?...

在Windows和Unix系统之间传输文件时,经常会遇到与行尾字符有关的问题。这是因为Windows中的EOL字符在Unix中未被识别为EOL字符。因此,要解决此问题,当文件从Windows传输到Unix时,我们需要遵循以下方法之一。

使用dos2unix

dos2unix命令用于将Windows平台的EOL字符转换为Unix平台。大多数Unix系统都预安装了此命令。下面我们看到使用此命令时如何转换文件本身或保存文件副本。# change the file itself.

dos2unix file_name.txt

# Save a copy of the file.

dos2unix -n file_name.txt new_file_name.txt

使用sed

当我们将文件从Windows传输到Unix平台并打开以进行读取时,行尾字符显示为^ M(称为control-M)。因此,我们使用sed命令替换^ M个字符。在这里,我们还可以将编辑后的文件另存为新文件。sed 's/^M$//' file_name.txt > new_file_name.txt

使用tr

tr命令用于翻译或删除字符。在这种情况下,如果打开后在unix系统中显示为“ \ r”,我们将使用它从Windows系统中删除文件中的行尾。tr -d '\r' file_name.txt > new_file_name.txt

上面的命令成功执行后,我们可以在Unix系统中成功打开文件,而无需显示Windows系统中的EO L值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值