美文网首页生物信息学与算法
文本拼接错误:后面的内容跑到前面去了

文本拼接错误:后面的内容跑到前面去了

作者: 王诗翔 | 来源:发表于2020-05-03 16:20 被阅读0次

    今天很奇怪,在对文本内容循环取变量进行常规的 Linux 拼接字符串操作都不起作用了。

    $ bash batch_gen.sh 
    Processing EGAN00001749284
    gzsers/wsx/EGA/EGAD00001004183/clean2/EGAN00001749284
    
    
    Processing EGAN00001749285
    gzsers/wsx/EGA/EGAD00001004183/clean2/EGAN00001749285
    

    几经摸索才发现完全不是代码的锅,原来是文件来自 Windows,它的回车符号与 Unix 不一样导致的。解决办法是使用编辑器转换 CRLF 为 LF(Windows下),或者使用 dos2unix 命令(有的系统可能需要安装)。

    事实证明,迭代文件之前还是检查一下文件格式比较好,使用 cat -t

    $ cat -t ID_STAR.csv 
    EGAN00001749284^M
    EGAN00001749285^M
    EGAN00001749287^M
    EGAN00001749288^M
    EGAN00001749289^M
    EGAN00001749290^M
    EGAN00001749291^M
    EGAN00001749292^M
    EGAN00001749293^M
    EGAN00001749295^M
    

    如果行尾有 ^M 标志,就需要转换下啦。

    相关文章

      网友评论

        本文标题:文本拼接错误:后面的内容跑到前面去了

        本文链接:https://www.haomeiwen.com/subject/wfodghtx.html