1删除所有2删除所有带Contig的行3将每两个Chr开头的行中间的行合并成1行Linux中对下面文件进行处理并且达到上面的要求Chr1ASCDJSVHUIDSHNGDUHVDVHJKSNUJKDFHDUDSNFJDNSFJJFHJSJKHFChrtestContig 1DXVXKJCVBHKXCBVKJBNSJEHFUSHDBNJKBGSHBGKJSBDGKJBSDKContig 141FCNJ
可以使用sed命令来处理这个文件:
- 删除所有>:
sed '/>/d' file.txt > file1.txt
- 删除所有带Contig的行:
sed '/Contig/d' file1.txt > file2.txt
- 将每两个Chr开头的行,中间的行合并成1行:
sed -e :a -e '$!N;s/\nChr/ Chr/;ta' file2.txt > file3.txt
解释一下上面这个命令:
-e表示执行一个命令;:a定义一个标签a;$!N如果不是最后一行,则读入下一行并追加到模式空间中;s/\nChr/ Chr/将换行符和Chr替换成一个空格和Chr;ta如果上一步替换成功,则跳转到标签a处继续执行。
最终处理后的文件是file3.txt。
原文地址: http://www.cveoy.top/t/topic/foe2 著作权归作者所有。请勿转载和采集!