Linux 中合并 Chr 开头行的文本处理技巧
可以使用 sed 命令来实现:
sed -n '/^Chr/{:start /^Chr/{p;b};N;b start};$p' 文件名
解释一下:
-n选项表示只输出匹配到的行,不输出其他行;/^Chr/表示匹配以 Chr 开头的行;{:start ...}表示一个循环,start 是一个标签,用于后面跳转;/^Chr/{p;b}表示如果匹配到以 Chr 开头的行,则输出该行,然后跳转到循环结束(即最后一个 Chr 开头的行);N;b start表示将非 Chr 开头的行和前面的 Chr 开头的行合并成一行,并跳转到循环开始继续执行;$p表示最后一个 Chr 开头的行单独处理,直接输出;
注意:由于 Linux 中换行符是 \n,因此合并后的行可能会很长,建议使用 less 命令或者分页工具查看。
原文地址: https://www.cveoy.top/t/topic/odYW 著作权归作者所有。请勿转载和采集!