windows中 Excel导出文件多换行符问题

最近遇见一个奇葩问题,从excel 导出的文件,导入服务器进行处理老是报错。

bedtools intersect -a hda705_edgeR_up.bed -b Up_bed_no_clean.bed |wc -l 

#Unexpected file format. Please use tab-delimited BED, GFF, or VCF. Perhaps you have non-integer starts or ends at line 1?

后来发现原来windows导出后自带换行符。

例如 使用cat -v命令显示文件中的非打印字符:

cat -v your_file.bed

Chr9 14088131 14088623^M
Chr9 14088131 14088623^M
Chr9 14088131 14088623^M
Chr9 14088131 14088623^M

^M 是 Windows 操作系统中换行符 \r 的可见表示形式。它通常会出现在通过 Windows 环境下创建的文件中,而在 Linux 或 Unix 环境下查看时可能会出现问题。

你可以使用以下命令将文件中的 ^M 替换为标准的 Unix 换行符:

sed -i 's/\r$//' your_file.bed

这个命令会在文件中删除所有的 \r(^M 的实际表示)字符,并将文件保存为 Unix 格式的换行符。然后你可以再次检查文件内容,确保 ^M 字符已经被移除了。

cat -v your_file.bed

Chr9 14088131 14088623
Chr9 14088131 14088623
Chr9 14088131 14088623
Chr9 14088131 14088623

这样后续在进行操作就不会报错了!!!

bedtools intersect -a hda705_edgeR_up.bed -b Up_bed_no_clean.bed |wc -l
3597
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容