欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

文件格式不是unix导致sed,cat等读取文件后无法正常退出

程序员文章站 2022-07-11 08:15:31
...
#!/bin/bash
bucket_config="sync_log.log"
bucket_name=$(sed -n '1p' ${bucket_config})
echo "s3://${bucket_name}/xxxxx"
exit


读取一个文件的第一行,然后跟其他字符串拼接,由于sync_log.log这个文件的格式不是unix(CRLF,不是LF),读取是正确的,内容也获取了,但是
echo "s3://${bucket_name}/xxxxx"
变成了xxxxx${bucket_name} 类似正则表达式替换了前面的内容。

换个文件发现没问题,发现是因为这个文件是在windows下的图形界面(remote)下创建的,导致格式异常。用doc2unix sync_log.log转换成unix文本格式后就正常输出了
doc2unix要手动安装,apt-get install doc2unix
相关标签: unix sed cat